排序算法一瞥
2019-03-29 本文已影响0人
kiterumer
Hash
什么是哈希(hash)?一言以蔽之,即形如key : value
这种键值对形式的数据结构都可称为哈希。数组,对象,或者HTTP请求响应报文的头部都是哈希结构。
可视化数据结构和算法
走过路过不要错过https://visualgo.net/zh
冒泡排序(体育委员两两摸头法)
冒泡排序算法的流程如下:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
冒泡排序流程图
冒泡排序流程图.png计数排序(我有桶,你有啤酒吗)
类似的有桶排序,基数排序,都和桶有关。
- 计数排序:一个桶放一个
- 桶排序:一个桶放多个
- 基数排序:桶的个数(基于进制比如10)固定。
详情请查阅维基百科。
计数排序流程图
计数排序流程图.png结构化编程
https://zh.wikipedia.org/zh-hans/%E7%BB%93%E6%9E%84%E5%8C%96%E7%BC%96%E7%A8%8B
- 一行一行执行
- 有条件控制语句 if...else...
- 有循环控制语句 while(exp) do...
大部分算法都可看作是条件语句和循环语句的多次嵌套叠加。