Skip to content

coderElijah/EAlgorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 

Repository files navigation

数组、栈、队列

链表

递归

排序、二分查找

跳表

散列表

二叉树

  • 验证平衡二叉树:
    • 要点:利用平衡二叉树中序遍历的序列是有序的特性,有两种方法,(1)遍历整个树,记录下来中序遍历顺序,然后验证顺序是不是递增的。(2)其实可以只对比中序遍历过程中,前一个遍历节点是不是大于后一个,所以只需要记录前一个节点就行,不需要记录所有节点。
    • 代码实现:https://github.com/coderElijah/EAlgorithm/blob/master/src/tree/LeetCode98.java

红黑树

B+树

堆与堆排序

  • 数据流中第K大元素:

  • 滑动窗口最大值:

    • 要点:有两种方法,(1)利用堆排序最大堆,堆大小就是滑动窗口的大小,priorityQueue不停的调整堆顶元素,当窗口滑动过去之后,移除i-k的元素。(2)就是利用双端队列,队列左端存放最大值,当元素划出窗口就在队列左端弹出,队列中存储的是元素下标,这样就能根据窗口大小判断,如果队列左端元素小于等于i-k的时候,就可以把下表弹出。新元素进入的时候会对比右端的大小,如果右端元素的大小小于新入元素,那么就会弹出,直到遇到比他大的元素,或者队列为空,让然后从右端把元素入队,这样就能保证最大的元素永远都是队列左端元素。
    • 代码实现:https://github.com/coderElijah/EAlgorithm/blob/master/src/heap/LeetCode239.java

深度、广度优先算法

字符串匹配(BF、RK、BM、KMP、AC自动机)

Trie树

动态规划

#拓展

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages