数据结构和算法浅谈

一、数组与简单排序:

  首先要明确算法的时间复杂度:O(1)<O(logn)<O(n)<O(nlogn)<O(n²)<O(n³)<O(2ⁿ)<O(n!)

  如果有不明白的可以参照这篇博客:https://blog.csdn.net/itachi85/article/details/54882603

  1、冒泡排序:  两两比较,小的往前/往后放,因此很容易得出bubble sort的时间复杂度是O(n²)

  2、选择排序:两两比较,小的序号往前/往后放,全部比较完了,做一次交换。因此可以看出select sort的时间复杂度也是O(n²),只是交换次数,比冒泡排序少了很多。

  3、插入排序:

  4、归并排序:

  5、希尔排序:

  6、快速排序:

二、栈与队列

  1、栈:先进后出

  2、队列:先进先出

三、链表

  1、单向链表

  2、双向链表

  3、有序链表

  4、迭代器

四、哈希表

五、堆

  1、基本堆

  2、二分搜索树

  3、红黑树

六、图

  1、基础图

  2、有权图

  

posted @ 2018-06-07 13:24  syd-fish-cat  阅读(130)  评论(0编辑  收藏  举报