
数据结构与算法(本科版)
数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
Seung-Yim Yau
业精于勤,荒于嬉;行成于思,毁于随。
展开
-
算法导论·第八集:贪心算法-找零钱(Python版)
#【贪心算法】找零钱,使得零钱张数最少。def change(): MONEY = (100,50,20,10,5,1,0.5,0.1) count = 0 x = float(input('Please enter a number:')) for c in MONEY: temp = 0 while x>=c:...原创 2019-10-16 15:37:33 · 1275 阅读 · 0 评论 -
算法导论·第二集:合并排序(Python版)
昨晚睡前、今早起床后,抽空看了“分治法”。运用递归的思想到合并排序。我一直对递归思想怀有“敬畏”。O(∩_∩)O,至少在写代码时时很简洁、漂亮的。只是大概明白合并排序的流程,导致编程时出现了思绪不清。递归不知道怎么写。A = [8,2,6,1,4,5,7,3,0,9]#合并排序(递归思想)def merge_sort(lists): if len(lists) <...原创 2018-07-23 15:57:42 · 382 阅读 · 0 评论 -
算法导论·第三集:冒泡排序(Python版)
ps:今天上午看论文、搜论文。我之前思考的idea已经被他人抢先占了,顿时“后悔”万分。不过,对方只是先挂了一个粗糙的Paper在arXiv上,可能也是怕别人先做到吧。。昨晚睡前又把插入排序思想看了一遍,递归确实是漂亮。今早洗漱完后,顺便看了一下冒泡排序的思想,现在抽点时间把算法实现了。A = [45, 32, 8, 33, 12, 22, 19, 97]def bubble...原创 2018-07-23 16:59:44 · 426 阅读 · 0 评论 -
算法导论·第四集:选择排序(Python版)
ps:今上午看了两篇CVPR的Paper。唉,感叹自己之前看的Paper太少了。之前想的idea比较太狭隘。希望保持每天看论文,做记录的习惯。选择排序:将要排序的对象分作两部分,一个是已经排序的,一个是没有排序的。从后面没有排序的部分选择一个最小值,并且放到前面已经排序的最后一个。A = [70,80,31,37,10,1,48,60,33,80]def select_sort(li...原创 2018-07-24 16:37:10 · 279 阅读 · 0 评论 -
算法导论·第五集:自定义排序(Python版)
在做选择排序时,无意中写了一个不知道叫什么名字的排序。像选择排序,又像冒泡排序。。。姑且叫自定义排序吧。。。(ps:可能是我没看到这类排序(⊙o⊙))A = [70,80,31,37,10,1,48,60,33,80]def sort(lists): #idea:仅交换当前位置与最小值的位置 #每次将最小值放在前面 for i in range(len(lis...原创 2018-07-24 16:54:29 · 289 阅读 · 0 评论 -
算法导论·第一集:插入排序(Python版)
每天看着专业Paper,亦是”煎熬“。前日,睡前随手拿了一本很厚的书 ---《算法导论》做枕头。闲来无聊,顺便打开了此书看了几页。顿时发现,写得很棒!看到那些算法并想实现它,同时正好练手Python。岂不是一举两得!? O(∩_∩)O !坚持每天看一点,同时Python实现。加油! A = [5, 2, 1, 7, 6, 3, 9, 4, 0, 8]#插入排序(非递归...原创 2018-07-21 21:00:01 · 259 阅读 · 2 评论 -
算法导论·第六集:汉诺塔问题(Python版)
"""汉诺塔问题缘由:在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一...原创 2018-09-13 20:23:44 · 443 阅读 · 0 评论 -
算法导论·第七集:斐波那契数列(Python版)
"""斐波那契数列解法:Fibonacci是1200年代的欧洲数学家。例如:1、1、2、3、5、8、13、21、34、……F(n) = F(n-1)+F(n-2) if n>1F(n) = 1 if n = 0 or 1"""#迭代算法def fibonacci_iter(n): if n > 0: fib = [1,1] ...原创 2018-09-14 11:14:34 · 290 阅读 · 0 评论