Browse Category

算法栏

一、Acm字符串题型完全总结篇

ACM-字符串完全总结

注意

  1. 对于字符串问题,最好使用char []来存储,不要用string,否则可能会占用大量内存及减低速度
  2. strlen(char []),以及相似方法的复杂度均为O(n),尽量不要用在循环内

[……]

继续阅读

算法-深入归并排序

归并排序的理解和实现

原理

  1. 将整个序列看成是 n 个长度为1的有序子序列
  2. 然后两两归并,得到 n/2 个长度为2的有序子序列
  3. 继续按照该策略归并,直到得到 1 个长度为n的有序子序列

上述过程即一次反向递归,也是归并排序的基本思想

可视化归并排序

归并排序

[……]

继续阅读

算法-深入堆排序

堆排序的理解和实现

原理

  1. 将一个无序序列建成一个堆,根据大顶堆或小顶堆的性质,堆顶元素为序列的最大(小)值
  2. 初始化建堆后,调整输出堆顶的最值元素,对剩余的序列
  3. 继续调整为大顶堆/小顶堆,调整输出堆顶的最值元素
  4. 如此循环,直到序列有序,具体过程得需要在代码中体会

可视化堆排序

堆排序

了解

大(小)顶[……]

继续阅读

  • 1
  • 2