这是本专栏的第五篇,记录我自学Berkeley CS 61B的笔记,作业等等。CS 61B作为CS入门的神课,会涉及到面向对象编程java和数据结构两方面的知识,笔者将会记录课程的关键知识,希望对你会有所帮助。
课程视频: https://www.bilibili.com/video/BV18x411L7yy
Professor: Jonathan Shewchuk
课程链接: https://people.eecs.berkeley.edu/~jrs/61b/
课程作业: https://github.com/Hao-Wang-Henry/Berkeley-CS61B
---------------------------这是分割线---------------------------
Lecture5 Linked list
文章目录
Array-based lists
优点:对于一个任意的元素访问会非常快 O(1)
缺点:
- 插入一个元素的时候,要把其他的所有都移动 O(n)
- array 是固定长度 (插入的时候如果满了就会运行方框里的代码)
Linked lists
(是一个recursive的数据类型,每一个linked list 是一个节点,一个节点有两个元素,一个是要存放的item,另外一个是指向next node的reference)