林东
林东
2021年05月03日入驻 合计 1 个作品 累计 29.12 万字
  • 第一章:入门 Golang

    我们只学 Golang 语言的一个子集,足以开展接下来数据结构和算法的实现即可。
  • 33. B树及B+树

  • 32. 2-3-4树和普通红黑树

    某些教程不区分普通红黑树和左倾红黑树的区别,直接将左倾红黑树拿来教学,并且称其为红黑树,因为左倾红黑树与普通的红黑树相比,实现起来较为简单,容易教学。在这里,我们区分开左倾红黑树和普通红黑树。
  • 31. 2-3树和左倾红黑树

    某些教程不区分普通红黑树和左倾红黑树的区别,直接将左倾红黑树拿来教学,并且称其为红黑树,因为左倾红黑树与普通的红黑树相比,实现起来较为简单,容易教学。在这里,我们区分开左倾红黑树和普通红黑树。
  • 30. AVL树

    二叉查找树的树高度影响了查找的效率,需要尽量减小树的高度,AVL树正是这样的树。
  • 29. 二叉查找树

  • 28. 哈希表:散列查找

  • 27. 快速排序

    快速排序是一种分治策略的排序算法,是由英国计算机科学家 Tony Hoare 发明的, 该算法被发布在 1961 年的 Communications of the ACM 国际计算机学会月刊。

    注: ACM = Association for Computing Machinery,国际计算机学会,世界性的计算机从业员专业组织,创立于1947年,是世界上第一个科学性及教育性计算机学会。

    快速排序是对冒泡排序的一种改进,也属于交换类的排序算法。
  • 26. 优先队列及堆排序

    堆排序( Heap Sort )由威尔士-加拿大计算机科学家 J. W. J. Williams 在 1964 年发明,它利用了二叉堆 (A binary heap) 的性质实现了排序,并证明了二叉堆数据结构的可用性。同年,美国籍计算机科学家 R. W. Floyd 在其树排序研究的基础上,发布了一个改进的更好的原地排序的堆排序版本。堆排序属于选择类排序算法。
  • 25. 归并排序

    归并排序是一种分治策略的排序算法。它是一种比较特殊的排序算法,通过递归地先使每个子序列有序,再将两个有序的序列进行合并成一个有序的序列。
  • 24. 希尔排序

    1959 年一个叫 Donald L. Shell (March 1, 1924 – November 2, 2015) 的美国人在 Communications of the ACM 国际计算机学会月刊 发布了一个排序算法,从此名为希尔排序的算法诞生了。

    注: ACM = Association for Computing Machinery,国际计算机学会,世界性的计算机从业员专业组织,创立于1947年,是世界上第一个科学性及教育性计算机学会。
  • 23. 插入排序

    插入排序,一般我们指的是简单插入排序,也可以叫直接插入排序。就是说,每次把一个数插到已经排好序的数列里面形成新的排好序的数列,以此反复。插入排序属于插入类排序算法。
  • 22. 选择排序

    选择排序,一般我们指的是简单选择排序,也可以叫直接选择排序,它不像冒泡排序一样相邻地交换元素,而是通过选择最小的元素,每轮迭代只需交换一次。虽然交换次数比冒泡少很多,但效率和冒泡排序一样的糟糕。选择排序属于选择类排序算法。
  • 21. 冒泡排序

    冒泡排序是大多数人学的第一种排序算法,在面试中,也是问的最多的一种,有时候还要求手写排序代码,因为比较简单。冒泡排序属于交换类的排序算法。
  • 20. 排序算法介绍

  • 19. 树

    树是一种比较高级的基础数据结构,由 n 个有限节点组成的具有层次关系的集合。
  • 18. 字典

    我们翻阅书籍时,很多时候都要查找目录,然后定位到我们要的页数,比如我们查找某个英文单词时,会从英语字典里查看单词表目录,然后定位到词的那一页。计算机中,也有这种需求。
  • 17. 列表

  • 16. 栈和队列

  • 15. 可变长数组

  • 前一页 后一页