
one day one algorithm(一天一算法)
每天看一小时算法,简答的一天实现一个小算法,复杂的就是两到三天,并用Python和C++实现,大概思路是从算法导论获取。100天把算法导论看一遍。
码农凯凯
看我学渣奋起直追之路
展开
-
快排+堆排序
3.6 快排 其实就是记住算法导论中的步骤,最坏情况就是排好序的,不管是正序还是倒序,情况都是最坏O(n^2).int partition(int a[],int p,int r) { int x = a[r]; int i = p - 1; for (int j = p; j < r ; j++) { if (a[j] < x) { ...原创 2018-03-07 00:05:40 · 278 阅读 · 0 评论 -
新学期新气象
度过了无聊的春节假期,今天也正式回到实验室,在家这一个月电脑都没有打开,更不要说更新算法啦。惭愧呀,自己现在总是缺少高四的坚持和自控力,也知道怎么做是最好的,怎么做是不好的,但是总没有动力,有时候特别讨厌现在的自己,不知道自己什么时候才能改变自己,只有感动了自己才能提高自己,做回自己喜欢的模样。今天继续算法导论,且行且珍惜,且行且努力。...原创 2018-03-04 16:50:26 · 534 阅读 · 0 评论 -
1D1A:1 插入排序
算法导论第一个算法就是插入排序,思想简单,如果是从小到大排序,就是从第二个数开始,和前边的数比较,直到大于等于前边那一个数,然后放在那个位置。 而且,先用Python写,就相当于伪代码,特别好,既有思路,还把Python练习一下,然后再用C++。 Python代码:def insertSort(A): for i in range(1,len(A)): key = A[i原创 2018-01-26 16:00:09 · 266 阅读 · 0 评论 -
1D1A:冒泡排序(3)
《算法导论》中的习题中,讲到了冒泡排序:是一种流行但是低效的排序方式,他的作用是反复交换相邻的未按次序排列的元素。 伪代码(Python):def bubbleSort(lists): length = len(lists) for i in range(length-1): for j in range(length-1-i):原创 2018-01-27 13:55:13 · 331 阅读 · 0 评论