您的位置:首页 > 其它

《算法导论(原书第2版)》读书笔记

2009-08-18 11:55 176 查看


随手记下,很随性的,不成系列。自己上大学时稀里糊涂的混过来的,根本没有数学的基础,如:概率统计,排列组合,线性代数,离散数学。所以学得非常痛苦和吃力,感觉枯燥难学。但为了自己的编程开发的理想,坚持!

第1章 The Role of Algorithms in Computing

“lg n 表示 log2 n” 在这里本人有个疑问:lg n应该是表示log10 n才对吧

练习题1.2-2的图画:



在这,lg n 这个对数函数的底数按书上是为2。y轴表示有多少步。

第2章 Getting started

循环不变式(loop invariant)是由证明程序的算法是否正确而发展出来的。如果循环的初始化为真、循环下一次迭代的保持为真、循环结束为真,那么算法是正确的推理是成立的。

插入排序算法的C#语言实现:

int[] A = new int[] { 5, 2, 4, 6, 1, 3 };

for (int j = 1; j < A.Length; j++)
{
int key = A[j];

int i = j - 1;
while (i >= 0 && A[i] > key)
{
A[i + 1] = A[i];
i--;
}
A[i + 1] = key;
}
foreach (int k in A)
{
Console.WriteLine(k.ToString());
}

JavaScript语言实现:

var arr = [5, 2, 4, 6, 1, 3];
for(j=1;j<arr.length;j++)
{
key = arr[j];
i = j - 1;
while(i>0 && arr[i] > key)
{
arr[i+1] = arr[i];
i=i-1;
}
arr[i+1] = key;
}
console.log(arr);

INSERTION-SORT(A)的第5行:times 的解释:∑上面是n下面是j=2右边是tj是表示t2+t3+…+tn-1+tn
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: