真实场景的算法练习

计算机科学概念

Pritesh Patel

Computer Scientist & Data Scientist for over 20 years

常用算法:排序与查找

排序(Sorting)

当你需要对事物进行排序时使用

真实问题:

  1. 网上购物: 按价格、评分、热度排序。
  2. 日历排序: 按日期和时间排序事件。

查找(Searching)

当你需要查找时使用

真实问题:

  1. 网上购物: 按书名搜索。
  2. 客服支持: 按客户姓名查找历史工单。
计算机科学概念

排序算法:冒泡 vs 快速

冒泡排序(Bubble Sort) 展示冒泡排序工作方式的动画

  • 冒泡排序:比较、交换、重复、遍历。
  • 时间复杂度:$O(n^2)$。
  • 想象要在有数百万商品的电商中排序——随目录增长呈指数级变慢。

快速排序(Quick Sort) 展示快速排序工作方式的动画

  • 快速排序:分治、选枢轴、排序、合并。
  • 时间复杂度:O(n log n)。
  • 对数百万商品排序时——随目录增长更可持续。
计算机科学概念

查找算法:线性 vs 二分

线性查找(Linear Search) 展示线性查找工作方式的动画

  • 时间复杂度:$O(n)$。
  • 简单,逐个检查元素。
  • 线性查找:扫描、比较、找到、停止。

二分查找(Binary Search) 展示二分查找工作方式的动画

  • 时间复杂度:$O(log\,n)$。
  • 高效,但要求列表已排序。
  • 二分查找:折半、比较、排除、重复。
计算机科学概念

总结

  • 冒泡排序、快速排序、二分查找、线性查找
  • 快速排序和二分查找对大数据集更高效。
  • 现在应能直观理解:算法效率会直接影响技术体验。
计算机科学概念

Ayo berlatih!

计算机科学概念

Preparing Video For Download...