数据结构与算法
文章平均质量分 54
python 数据结构与算法学习笔记
testerzzz
这个作者很懒,什么都没留下…
展开
-
冒泡排序与选择排序
冒泡排序与选择排序 冒泡排序原理 比较相邻的元素。如果第一个比第二个大,就交换他们两个 如 1 3 5 4 2 排序完第一趟为 1 3 4 2 5 第二趟为 1 3 2 4 5 第三趟为 1 2 3 4 5 第四躺为 1 2 3 4 5 先确定外层循环,一共要排序 n-1 次 (n为排序的元素个数),也就是列表的长度 内层循环为n-i-1 (i为第几趟) python代码实现 def m(li): for i in range(len(li) - 1): exchange = Fa原创 2021-06-23 23:01:41 · 155 阅读 · 0 评论 -
顺序查找和二分查找
顺序查找和二分查找 顺序查找 对于任意一个序列以及一个给定的元素,将给定元素与序列中元素依次比较,直到找出与给定关键字相同的元素,或者将序列中的元素与其都比较完为止。 python代码实现 def sequence(li, val): for index, v in enumerate(li): if val == v: return index else: return None print(sequence([1, 2, 3,原创 2021-06-22 21:37:26 · 421 阅读 · 0 评论 -
汉诺塔问题
汉诺塔问题 汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 经典题目 有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子C上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上原创 2021-06-22 20:34:46 · 325 阅读 · 0 评论