数据结构与算法必会代码实现 数组 1、数组实现增、删、改、查 (Java 实现) 2、实现一个支持动态扩容的数组 (Java 实现) 3、实现一个大小固定的有序数组,支持动态增删改操作 (Java 实现) 4、两个有序数组的合并 (Java 实现) 链表 1、单链表的插入、删除、查找 (JavaScript 实现 | Java 实现) 2、双链表的插入、删除 (JavaScript 实现) 3、循环链表的插入、查找、删除 (JavaScript 实现) 4、两个有序链表的合并 (JavaScript 实现 | Java 实现) 5、删除倒数第 K 个结点 (JavaScript 实现 | Java 实现) 6、反转链表 (JavaScript 实现 | Java 实现) 7、链表环的检测 (JavaScript 实现 | Java 实现) 8、求链表的中间结点 (JavaScript 实现 | Java 实现) 栈 1、实现一个基于数组的顺序栈(Java 实现) 2、实现一个基于链表的链式栈 (Java 实现) 队列 1、实现一个基于数组的顺序队列 (Java 实现) 2、实现一个循环队列 (Java 实现) 树 1、实现二叉树的增、删、查、(前|中|后)遍历 (JavaScript 实现 | Java 实现) 堆 1、堆的插入与删除 (Java 实现) 2、堆排序 (JavaScript 实现 | Java 实现) Trie(字典树) 1、实现一个字典树 (JavaScript 实现 | Java 实现) 排序 1、冒泡排序 (JavaScript 实现 | Java 实现) 2、插入排序 (JavaScript 实现 | Java 实现) 3、选择排序 (JavaScript 实现 | Java 实现) 4、希尔排序 (JavaScript 实现) 5、归并排序 (JavaScript 实现 | Java 实现) 6、快速排序 (JavaScript 实现 | Java 实现) 7、求第 K 大元素 (JavaScript 实现) 查找 1、最简单的二分查找 (JavaScript 实现 | Java 实现) 2、二分查找的四个扩展 (JavaScript 实现 | Java 实现) 遍历 1、深度优先遍历 (JavaScript 实现| Java 实现) 2、广度优先遍历 (JavaScript 实现 | Java 实现)