摘要: 【插入排序】:每次保证列表最左端子序列是排好顺序的,然后取下一个元素,扫描其左端的子序列,将其中大于目标元素的元素右移一个位置,直到找到合适的位置将目标元素插入子序列中。逐步增大排序完成的sublist的长度,最终完成整个列表的排序 算法思路如下: 1. 列表最左边第一个元素认为已经排序好了 2. 阅读全文
posted @ 2018-01-21 10:29 JADE91 阅读(267) 评论(0) 推荐(0)
摘要: 【选择排序】 选择排序是在冒泡排序(Bubble Sort)的基础上做了改进:每完成一次走访过程(pass)最多只需要交换一次。 每一次走访过程,寻找最大值,当此次走访结束时,将最大值交换到正确的位置; 接下来再在剩下的sublist中继续重复上述过程,直到完成n-1次走访(n为列表的长度); 此时 阅读全文
posted @ 2018-01-21 09:49 JADE91 阅读(352) 评论(0) 推荐(0)
摘要: 推荐一个可视化的网站 【 Visual Algo 】: URL= 'https://visualgo.net/en/sorting' 这个网站给出了各种排序算法的原理和过程,通过动态形式直观得展现出来。另外还给出了相关的pseudo-code,以及具体执行到code的哪一步。 【冒泡排序】 需要重复 阅读全文
posted @ 2018-01-20 13:19 JADE91 阅读(325) 评论(0) 推荐(0)
摘要: Python内建的字典就是用 hash table实现的。这里我们只是通过实现自己的hash table来加深对hash table 和hash functions的理解。 【 概念1: Mapping (映射)】 字典通过键(Key)来索引。一个key对应一个存储的value。任意不可变的数据类型 阅读全文
posted @ 2018-01-20 09:40 JADE91 阅读(416) 评论(0) 推荐(0)