一、算法
算法是用来解决一种问题的计算方法,而选择什么样的算法就要取决于计算机的内存、程序员的编码能力、以及算法的高效性,而且还需要考虑很多实际的问题,并不是一个单纯的数学问题。
- 单向链表:其中的每一项都有一个或者多个字段来存储数据,其中有一个next字段来存储一个地址,这个地址指向的数据就是下一个需要遍历的数据项
- 多于表来说就没有这些字段,但是表中的索引很好的解决了查询效率的问题,而单向链表就不行了,但是在在做插入和删除等操作的时候,单链表的优势就很明显了,只需要移动一对指针就行,另外一个大的优点就是单链表事先可以不知道存储器的使用量,而表需要根据最大长度预分配存储器
算法永远要保持着准确性,这是一个宗旨,然后需要保持一个算法的有效性,最后才能在之前的基础之上保持算法的高效性。这是一个循序渐进的过程。
二、数学分析的原则
- 用输入规模的函数度量资源的利用
- 对所有给定规模的输入检验其最坏的性能
- 测量时间,忽略常数因素
- 根据增长率来比较算法时间复杂度的测量函数
三、常见排序
二分搜索、合并排序等、智能整数乘法算法等