### 项目简介
本项目主要分为两个部分
- 基础数据结构:会使用Java和TypeScript实现底层的数据结构,并考虑数据结构中每个操作的时间复杂度
- leetcode算法:算法主要会记录在本仓库的issue中,leetcode的每一个分类我都以标签的形式标记出来,欢迎参考
> 学习算法是一个漫长的过程,没法靠突击,只能一步一步慢慢积累。
### 数据结构
数据结构 | Java版 | TypeScript版
-:|:-:|:-:
数组 | [Array](./DataStructureJava/Array.java) | [Array](./DataStructureTypeScript/Array.ts) |
使用数组实现的队列 | [ArrayQueue](./DataStructureJava/ArrayQueue.java) | [ArrayQueue](./DataStructureTypeScript/ArrayQueue.ts) |
使用数组实现的栈 | [ArrayStack](./DataStructureJava/ArrayStack.java) | [ArrayStack](./DataStructureTypeScript/ArrayStack.ts) |
链表 | [LinkedList](./DataStructureJava/LinkedList.java) | [LinkedList](./DataStructureTypeScript/LinkedList.ts) |
使用链表实现的队列 | [LinkedListQueue](./DataStructureJava/LinkedListQueue.java) | [LinkedListQueue](./DataStructureTypeScript/LinkedListQueue.ts) |
使用链表实现的栈 | [LinkedListStack](./DataStructureJava/LinkedListStack.java) | [LinkedListStack](./DataStructureTypeScript/LinkedListStack.ts) |
循环队列 | [LoopQueue](./DataStructureJava/LoopQueue.java) | [LoopQueue](./DataStructureTypeScript/LoopQueue.ts) |
最大堆 | [MaxHeap](./DataStructureJava/MaxHeap.java) | [MaxHeap](./DataStructureTypeScript/MaxHeap.ts) |
优先队列 | [PriorityQueue](./DataStructureJava/PriorityQueue.java) | [PriorityQueue](./DataStructureTypeScript/PriorityQueue.ts) |
双向链表 | [DoubleLinkedList](./DataStructureJava/DoubleLinkedList.java) | [DoubleLinkedList](./DataStructureTypeScript/DoubleLinkedList.ts) |
二分搜索树 | [BST](./DataStructureJava/BST.java) | [BST](./DataStructureTypeScript/BST.ts) |
基于二分搜索树的集合 | [BSTSet](./DataStructureJava/BSTSet.java) | [BSTSet](./DataStructureTypeScript/BSTSet.ts) |
基于链表的集合 | [LinkedListSet](./DataStructureJava/LinkedListSet.java) | [LinkedListSet](./DataStructureTypeScript/LinkedListSet.ts) |
基于链表的映射 | [LinkedListMap](./DataStructureJava/LinkedListMap.java) | [LinkedListMap](./DataStructureTypeScript/LinkedListMap.ts) |
基于二分搜索树的映射 | [BSTMap](./DataStructureJava/BSTMap.java) | [BSTMap](./DataStructureTypeScript/BSTMap.ts) |
线段树 | [SegmentTree](./DataStructureJava/SegmentTree.java) | [SegmentTree](./DataStructureTypeScript/SegmentTree.ts) |
字典树 | [Trie](./DataStructureJava/Trie.java) | [Trie](./DataStructureTypeScript/Trie.ts) |
并查集(基于数组索引) | [UnionFind](./DataStructureJava/UnionFind.java) | [UnionFind](./DataStructureTypeScript/UnionFind.ts) |
并查集(基于树) | [UnionFind2](./DataStructureJava/UnionFind2.java) | [UnionFind2](./DataStructureTypeScript/UnionFind2.ts) |
并查集(使用节点size优化) | [UnionFind3](./DataStructureJava/UnionFind3.java) | [UnionFind3](./DataStructureTypeScript/UnionFind3.ts) |
并查集(使用rank优化) | [UnionFind4](./DataStructureJava/UnionFind4.java) | [UnionFind4](./DataStructureTypeScript/UnionFind4.ts) |
平衡二叉树 | [AVLTree](./DataStructureJava/AVLTree.java) | [AVLTree](./DataStructureTypeScript/AVLTree.ts) |
### leetcode按题目类型分类
- [x] [数组](https://github.com/GuoLizhi/algorithm/labels/Array)
- [x] [回溯算法](https://github.com/GuoLizhi/algorithm/labels/Backtracking)
- [x] [广度优先搜索](https://github.com/GuoLizhi/algorithm/labels/BFS)
- [x] [二分查找](https://github.com/GuoLizhi/algorithm/labels/Binary%20Search)
- [x] [位运算](https://github.com/GuoLizhi/algorithm/labels/Bit%20Manipulation)
- [x] [二叉树](https://github.com/GuoLizhi/algorithm/labels/Tree)
- [x] [深度优先搜索](https://github.com/GuoLizhi/algorithm/labels/DFS)
- [x] [双指针](https://github.com/GuoLizhi/algorithm/labels/Two%20Pointers)
- [x] [动态规划](https://github.com/GuoLizhi/algorithm/labels/DP)
- [x] [贪心算法](https://github.com/GuoLizhi/algorithm/labels/Greedy)
- [x] [Hash表](https://github.com/GuoLizhi/algorithm/labels/HashTable)
- [x] [链表](https://github.com/GuoLizhi/algorithm/labels/LinkedList)
- [x] [数学运算](https://github.com/GuoLizhi/algorithm/labels/Math)
- [x] [队列](https://github.com/GuoLizhi/algorithm/labels/Queue)
- [x] [递归](https://github.com/GuoLizhi/algorithm/labels/Recursion)
- [x] [集合Set](https://github.com/GuoLizhi/algorithm/labels/Set)
- [x] [滑动窗口](https://github.com/GuoLizhi/algorithm/labels/Sliding%20Window)
- [x] [栈](https://github.com/GuoLizhi/algorithm/labels/Stack)
### leetcode按难易分类
- [x] [easy](https://github.com/GuoLizhi/algorithm/labels/Easy)
- [x] [medium](https://github.com/GuoLizhi/algorithm/labels/Medium)
- [x] [hard](https://github.com/GuoLizhi/algorithm/labels/Hard)
### 写在最后
我的数据结构是从[刘宇波老师](https://github.com/liuyubobobo/)的[玩转数据结构](https://coding.imooc.com/class/207.html)开始学起的,算是我数据结构的启蒙老师,课程都是满满的干货,如果有需要,可以购买此课程看看
没有合适的资源?快使用搜索试试~ 我知道了~
基于Java和TypeScript的数据结构,LeetCode题解.zip
共80个文件
ts:30个
java:29个
js:14个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 188 浏览量
2024-03-24
10:24:57
上传
评论
收藏 62KB ZIP 举报
温馨提示
基于Java和TypeScript的数据结构,LeetCode题解
资源推荐
资源详情
资源评论
收起资源包目录
基于Java和TypeScript的数据结构,LeetCode题解.zip (80个子文件)
java0323
DataStructureTypeScript
SegmentTree.ts 5KB
ArrayStack.ts 2KB
LinkedListStack.ts 1KB
ArrayQueue.ts 2KB
LinkedListSet.ts 1KB
LinkedListQueue.ts 2KB
BST.ts 9KB
PriorityQueue.ts 563B
LoopQueue.ts 3KB
UnionFind.ts 1KB
BSTSet.ts 1KB
Trie.ts 1KB
interface
Map.ts 214B
Set.ts 146B
Merger.ts 62B
Queue.ts 140B
Stack.ts 126B
UF.ts 143B
MaxHeap.ts 3KB
Array.ts 6KB
DoubleLinkedList.ts 1023B
common
DoubleLinkedListNode.ts 291B
LinkedListNode.ts 253B
BSTNode.ts 162B
LinkedList.ts 4KB
UnionFind4.ts 2KB
LinkedListMap.ts 3KB
BSTMap.ts 6KB
UnionFind3.ts 2KB
UnionFind2.ts 1KB
DataStructureJava
Queue.java 130B
UnionFind.java 1KB
LinkedListStack.java 1KB
UnionFind3.java 2KB
PriorityQueue.java 647B
ArrayStack.java 2KB
ArrayQueue.java 1KB
Trie.java 2KB
DoubleLinkedList.java 2KB
BSTSet.java 678B
MaxHeap.java 4KB
LinkedListQueue.java 3KB
Map.java 204B
UF.java 120B
SegmentTree.java 4KB
UnionFind4.java 2KB
LoopQueue.java 3KB
Array.java 5KB
BSTMap.java 4KB
LinkedListMap.java 2KB
Stack.java 119B
Main.java 1KB
LinkedListSet.java 678B
LinkedList.java 5KB
Merger.java 54B
UnionFind2.java 1KB
Set.java 138B
AVLTree.java 9KB
BST.java 8KB
package.json 341B
package-lock.json 3KB
Leetcode
Go
0003-longest-substring-without-repeating-characters.go 921B
0002-add-two-numbers.go 1KB
JavaScript
0015-3sum.js 945B
0198-house-robber.js 571B
0011-container-with-most-water.js 454B
0019-remove-nth-node-from-end-of-list.js 850B
0046-permutations.js 575B
0056-merge-intervals.js 647B
0022-generate-parentheses.js 527B
0005-longest-palindromic-substring.js 1KB
0055-jump-game.js 222B
0017-letter-combinations-of-a-phone-number.js 1KB
0034-find-first-and-last-position-of-element-in-sorted-array.js 1KB
0062-unique-paths.js 713B
0045-trapping-rain-water.js 1KB
0102-binary-tree-level-order-traversal.js 799B
.gitignore 46B
tsconfig.json 535B
README.md 5KB
共 80 条
- 1
资源评论
Kwan的解忧杂货铺
- 粉丝: 1w+
- 资源: 3625
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Windows系统下安装与配置Neo4j的步骤
- 基于matlab实现潮流计算和最优潮流计算的程序1,对毕业设计有一定用处.rar
- 基于大数据学习资源推荐系统的设计与实现(部署视频)-kaic.mp4
- 哈工大形式语言和自动机2022期末含答案
- Windows系统下安装与配置Neo4j的步骤
- 哈希算法(Hash Algorithm)是一种将任意长度的二进制数据映射为较短的、固定长度的二进制值的函数.txt
- Windows系统下安装与配置Neo4j的步骤
- 在二叉树或更复杂的树形结构中,先序输出叶结点.txt
- 列出所有祖先结点的概念通常与树形结构或图论中的节点相关.txt
- 基于matlab实现潮流计算程序,MATLAB潮流计算程序.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功