既然确定了算法和数据结构做为未来职业发展的突破,那么就要为之努力了。这里建一个主题,约束自己每天写一道算法或理解一种数据结构。
算法先把《编程之美》写完,再写其他经典。
要求就一个:算法必须写出来。
数据结构先学Java的数据结构,再搞C++的数据结构,之后再扩展
今天是2016年3月28日,由于今天没拿编程之美,就以数据结构开头吧。
- LinkedList 列表
-LinkedList的实质是双向链表。
-LinkedList的顺序查找性能好,而随机查找很差。
-在做get(int i)这个方法时,LinkedList会先检查i在整个链表大小的上半部还是下半部,然后再去顺序查找。相当于一次折半查找。这里有一个技巧是,在计算一半大小的时候,使用>> 1这种方式,提高性能
-foreach方法遍历是性能最好的
-用LinkedList可以做队列,做堆栈,做双端队列