数据结构与算法

Author Avatar
YZ 12月 31, 2017

一. 排序算法及复杂度分析

快速排序:先让基准数另一侧“哨兵”出发,否则i这一侧先走最后会到达比基准数大的地方,不好交换;

归并排序:

  1. 弱分治归并

  2. 强分治归并:并没有一开始就对数组T进行分组,而是通过程序对T进行分组;

冒泡排序:每次将最大的移至数组的最后

二.二分查找

保证查找的序列单调性

java使用数组作为函数参数,要创建匿名数组

二分查找可以解决插入数问题(找到数组中第一个大于或等于target的下标),return low;

三.数组、链表、二叉树、队列、栈【性能,场景】