algorithm-learning 算法与数据结构课堂笔记及基于typescript的实现 目录 排序算法 最差时间复杂度为O(n * n)的排序算法 选择排序 插入排序 冒泡排序 希尔排序 时间复杂度为O(n * log2 n)的排序算法 归并排序 递归实现归并排序 迭代实现归并排序 快速排序 递归实现简单快速排序 堆排序 堆排序 排序算法总结 排序算法总结 堆 最大堆 最大堆的简单实现 索引堆 索引堆的实现 和堆相关的问题 在N个元素中选出前M个元素(时间复杂度: N * logM) Code Implement 多路归并排序(归并的过程中使用堆来实现) d叉堆 最大最小队列(既能找到最大的元素又能找到最小的元素) 思想: 同时维护一个最大堆和一个最小堆 二叉搜索树(Binary Search Tree) 二分查找的实现