算法
算法:评价一个算法的标准:1、时间度 2、空间度 3、稳定性强 4、至少一个输入输出
O(n)=(最高指数) ln^2+3n+10
1、查找最值:监哨值法
从一块元素中,查找出最大值。 1 3 2 5 10 4 7 13 -3 6 8 9
思想:从左往右逐一访问,将“哨兵”指向当前最大值(只要比哨兵大/小就更新)
查找:
——①:二分查找法(折半查找):前题有序(升降)升序 1 2 3 4 5 6 7 8 key=8;
1、每次取区间的中间值进行比较
2、key>mid,查找的值在右侧
key<mid,查找的值在左侧
key=mid,查找成功
3、重复1、2步骤直到查找成功或失败(left>right)
排序:
冒泡: 两两相邻之间比较大小,大的交换(大—>小排序)
选择: 每次从未排序元素中选择最值,依次存放
插入
快排
堆排
链表:
栈:
顺序栈:(数组)
链表栈:
队列:
顺序队列:(数组)
链表队列:
树:
图: