学习参考资料《我的第一本算法书》,个人觉得易懂,其中有很多形象的图片,并且有一个对应的app“算法动画图解”,更加易于理解。
1.算法是计算或者解决问题的步骤,一般用数学方式来描述。
2.冒泡排序:比如给出一组数据,要求从小到大排列,则用冒泡排序的过程如下:先比较一组数据中最右边的两个数,如果最右边的数更小,则和前一个数调换位置,否则位置不变,然后比较右边数第二个和第三个数,这样一直比较到最左边的数,一轮比较结束,最小的数也换到了最左边,再进行第2、3……轮比较和调换,最后可实现从小到大排列。
3.选择排序:同样以随机给出的一组数据为例,要求按从小到大的方式排列,用选择排序过程如下:先从这组数据中找到最小的一个数,与最左边第一个数进行调换,随后从剩下的数中找到最小的与左边第二个数进行调换,以此类推,可实现从小到大排列。
4.运行时间表示方法:O()表示法,即保留最具影响的一项。比如,某算法的运行时间为 n^2+n 则可表示为O(n^2)。
5.数据结构之链表、数组、栈、队列。(《我的第一本算法书》中有形象的图片)