♻️ 经典数据和基本算法集合,实现语言会有 Go, Python, JavaScript, Java。
数据模型 | 描述 | 实现语言 |
---|---|---|
数组 Array |
数组是用于有序储存多个相同类型数据的集合。 | Java | Python | Go | JavaScript |
堆 Heap |
先进后出原则的数据集合 | Java | Python | Go | JavaScript |
栈 Stack |
先进先出原则的数据集合 | Java | Python | Go | JavaScript |
队列 Queue |
只允许在队列前端进行删除操作, 而在队列的后端进行插入操作。 |
Java | Python | Go | JavaScript |
优先级队列 Priority Queue |
为队列中的每个元素都分配一个数字来标记其优先级 | Java | Python | Go | JavaScript |
链表 Linked List |
非连续、非顺序的数据集合 | Java | Python | Go | JavaScript |
双向链表Double Linked List |
双向链表是链表的一种, 它的每个数据结点中都有两个指针, 分别指向直接后继和直接前驱节点。 |
Java | Python | Go | JavaScript |
循环链表 Circular Linked List |
链表中最后一个结点的指针域指向头结点, 整个链表形成一个环。 |
Java | Python | Go | JavaScript |
哈希表 Hash Table |
把关键码值映射到列表中一个位置来访问记录, 以加快查找的速度。 |
Java | Python | Go | JavaScript |
树 Tree |
由n(n>=1) 个有限节点组成一个具有层次关系的集合。 |
Java | Python | Go | JavaScript |
二叉树Binary Tree |
二叉树是每个结点最多有两个子树的树结构 | Java | Python | Go | JavaScript |
二叉查找树Binary Search Tree |
||
红黑树 Red-Black Tree |
一种自平衡二叉查找树 | Java | Python | Go | JavaScript |
Red-Black Tree List |
Java | Python | Go | JavaScript | |
B-Tree |
Java | Python | Go | JavaScript | |
集合 Set |
存储不重复的无序集合 | Java | Python | Go | JavaScript |
字典 Trie |
单词查找树, 一种树形结构,是一种哈希树的变种。 | Java | Python | Go | JavaScript |
循环缓冲区Circular Buffer |
Java | Python | Go | JavaScript | |
图 graph |
Java | Python | Go | JavaScript |