数据结构.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. 程序=数据结构+算法
  2. 数据结构的划分:
  3. 1、线性表结构:
  4. |-栈
  5. |-队列
  6. |-数组
  7. |-链表
  8. 2、树型结构
  9. 二叉树
  10. ....
  11. 3、图结构
  12. 4、堆结构
  13. 5、散列表结构
  14. 线性表结构-栈和队列
  15. 栈结构:
  16. 先进后出,后进先出。
  17. 队列:
  18. 先进先出,后进后出。
  19. 线性表结构-数组和链表
  20. 数组:
  21. 有索引,查询速度快,增删速度慢。
  22. 链表:
  23. 没有索引,每个链表元素都至少有一个指向前一个或后一个元素地址的指针。
  24. List集合的底层数据结构就是线性表
  25. List集合接口有很多的实现类,用来实现:
  26. 数组 [ArrayList]
  27. 栈 Stack
  28. 队列 Queue
  29. 链表 [LinkedList]
  30. ArrayList类是List集合的实现类,底层使用的是动态数组实现的结合
  31. LinkedList类是List集合的实现类,底层使用的是双向链表
  32. LinkedList特有的方法
  33. addFirst(E e) 在集合的开头位置添加指定的元素
  34. addLast(E e) 在集合的末尾位置添加指定的元素
  35. getFirst(); 获取头元素
  36. getLast() 获取尾部元素
  37. removeFirst() 移除头元素
  38. removeLast() 移除尾部元素
  39. LinkedList自己就可以实现三种数据结构:
  40. 链表
  41. 队列