首页 > 代码库 > 算法导论学习笔记 -(1)
算法导论学习笔记 -(1)
一个ACM若菜,趁着ACM淡季,开始学习算法导论了,经过一年的ACM学习,逐渐的发现,学东西,深入才是王道,以前学习一个算法,总是看懂了就开始做题,到后来才发现很多题目,会算法,却不知道是用这个算法,这就是算法理解的不到位的后果,从今天开始,定下目标:
1.深入系统的学习算法,
2.学会纸上写伪代码,每章的代码自己先在纸上写一遍,
3.每节的学习笔记和算法都要写在博客上。
在博客上记录自己的学习笔记,方便以后温习. 欢迎各路大神路过指正错误之处。
现在,先写写书上的第一个算法,插入排序。
算法思想:对于一个数组A[n],对
//insertion_sort #include <iostream> using namespace std; void insertion_sort(int* A, int n) { for (int j = 1; j < n; j++) { int key = A[j]; int i = j-1; //Insert A[j] into the sorted sequence A[0..j-1]. while (i >= 0 && A[i] > key) { A[i+1] = A[i]; i--; } A[i+1] = key; } } void print(int* A, int n) { for (int i = 0; i < n; i++) { cout << A[i] << " "; } cout << endl; } int main() { int A[10] = {43,2,53,1,8,29,52,4,8,10}; cout << "before sorted: "; print(A, 10); insertion_sort(A, 10); cout << "after sorted: "; print(A, 10); return 0; }
算法导论学习笔记 -(1)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。