junda-lee / algo

数据结构和算法必知必会的代码

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

实现数据结构和算法必知必会的代码

数组:

  • 实现一个大小固定的有序数组,支持动态增删改操作

  • 实现一个支持动态扩容的数组

  • 实现跳跃表

链表

  • 单链表

  • 双向链表

  • 单向循环链表

  • 双向循环链表

  • 两种方式实现lru

  • 简单数组实现栈

  • 动态数组实现栈

  • 用链表实现栈

队列

  • 简单循环数组实现队列

  • 动态数组实现队列

  • 链表实现队列

  • 数组实现循环阻塞队列

  • 阻塞队列实现生产者消费者模型

  • 二叉树的非递归前中后序遍历, Morris遍历

  • 基于后缀表达式构建表达式树

  • 二叉搜索树

  • AVL树

字符串

  • 中缀表达式转后缀表达式

  • 波兰表达式计算

  • 字典树

  • 数组模拟Trie

  • 字典树优化: 三向单词查找树

  • Mnuth-Morris-Pratt

  • Boyer-Moore

  • Rabin-Karp 指纹字符串查找算法

集合

  • ListSet

  • 红黑树TreeSet

散列表

  • 基于链地址法实现散列表

  • 基于哈希表+双向链表实现LRU

  • 大根堆

  • 优先队列

多线程

  • 实现自旋锁

  • 哲学家问题

排序

  • 实现快排

  • 快排非递归

  • 三种方式优化快排

  • 归并排序

  • 选择排序

  • 插入排序

  • 堆排序

  • 希尔排序

  • 桶排序

About

数据结构和算法必知必会的代码


Languages

Language:Java 100.0%