![](https://img-blog.csdnimg.cn/20200304163256406.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
常见的数据结构
DamonDT
人工智能
展开
-
【数据结构和算法】_00_总览
数据结构点Data Structure(数据结构)Array(数组)Stack / Queue(栈 / 队列)Priority Queue(优先队列)Linked List(链表)Tree / Binary Tree(树 / 二叉树)Binary Search Tree(二叉搜索树)Hash Table(哈希表)Disjoint Set()Trie()Bloom Filt...原创 2019-05-24 16:01:06 · 110 阅读 · 0 评论 -
【数据结构和算法】_01_数组 & 链表
【一】Array(数组)连续 的内存空间Inserting(插入)和 Deleting(删除)【二】Linked List(链表)Inserting(插入)和 Deleting(删除)【三】Interview(面试题)Reverse Linked List(反转链表)Example(示例):Input: 1->2->3->4->5-&...原创 2019-05-27 11:30:05 · 165 阅读 · 0 评论 -
【数据结构和算法】_02_堆栈 & 队列
【一】Stack(堆栈)- First In Last Out【二】Queue(队列)- First In First Out【三】Time Complexity(时间复杂度)【四】Interview(面试题)Valid Parentheses(验证括号)# Python(堆栈)class Solution: def isValid(self, s: str) -&g...原创 2019-05-27 17:11:48 · 141 阅读 · 0 评论 -
【数据结构和算法】_03_优先队列 & 双向队列
【一】Priority Queue(优先队列)- 正常入,按优先级出实现机制1: Heap(Binary,Binomial,Fibonacci)实现机制2: Binary Search Tree【二】Mini Heap(小顶堆)- 父亲节点 < 左右孩子节点【三】Max Heap(大顶堆)- 父亲节点 > 左右孩子节点【四】Interview(面试题)Kth ...原创 2019-05-28 21:30:13 · 259 阅读 · 0 评论 -
【数据结构和算法】_04_哈希表
【一】Hash Table(哈希表)& Hash Function(哈希函数)& Collisions(哈希碰撞 / 冲突)Hash Table + Hash FunctionHash Collisions - 拉链法(在同一位置引出链表进行存储)【二】List(列表)vs Map(图)vs Set(集合)- 解释性的数据结构List:list_x = [1, 2...原创 2019-07-05 21:56:10 · 190 阅读 · 0 评论 -
【数据结构和算法】_05_树 & 图
文章目录【一】 Tree(树)【1.1】 完全二叉树【1.2】 二叉搜索树(Binary Search Tree)【二】 Garph(图)【三】 Interview(面试题)【3.1】 LeetCode 98:Validate BST(验证二叉搜索树)【3.2】 LeetCode 236,235:Lowest Common Ancestor(二叉树 / 二叉搜索树的最近公共祖先) 【...原创 2020-02-24 21:55:00 · 200 阅读 · 1 评论 -
【数据结构和算法】_06_二叉树遍历
文章目录【一】 Pre - Order(前序遍历,根 - 左 - 右)【1.1】 示意图【1.2】 代码示例【二】 In - Order(中序遍历,左 - 根 - 右)【2.1】 示意图(二叉搜索树时升序)【2.2】 代码示例【三】 Post - Order(后序遍历,左 - 右 - 根)【3.1】 示意图【3.2】 代码示例 【一】 Pre - Order(前序遍历...原创 2020-02-25 23:39:01 · 125 阅读 · 0 评论 -
【数据结构和算法】_07_递归&分治
文章目录【一】 Recursion(递归,盗梦空间) 【1.1】 盗梦空间(阶乘) 【1.2】 代码模板【二】 Divide and Conquer(分治) 【2.1】 分解问题 【2.2】 代码模板【三】 Inte...原创 2020-03-02 23:02:40 · 129 阅读 · 0 评论 -
【数据结构和算法】_08_贪心算法
文章目录【一】 Greedy(贪心)【二】 Interview(面试题)【2.1】 LeetCode 122:Buy / Sell Stocks(买卖股票的最佳时机) 【一】 Greedy(贪心) 贪心法,又称贪心算法,贪婪算法:在对问题求解时,总是做出在当前看来是最好的选择,目光短浅 适用场景:问题能够分解成 子问题 来解决,子问题...原创 2020-03-03 20:50:07 · 127 阅读 · 0 评论 -
【数据结构和算法】_09_广度 / 深度 优先搜索
文章目录【一】 Breadth - First Search(广度优先搜索)【二】 Depth - First Search(深度优先搜索)【三】 Interview(面试题)【3.1】 LeetCode 102:Binary Tree Level Order(二叉树的层次遍历)【3.2】 LeetCode 104:Max depth(二叉树的最大深度)【3.3】 LeetCode 111:Min...原创 2020-03-05 15:21:15 · 123 阅读 · 0 评论 -
【数据结构和算法】_10_剪枝
【一】 Interview(面试题) 【1.1】 LeetCode 51 52:N Queens(N皇后问题)题目说明:西洋象棋,如何将 n 个皇后放置在 n x n 的棋盘上,并且使得皇后之间不能相互攻击DFS(深度优先搜索)def solveNQueens(self, n): if n < 1: return [] self.result = [] # ...原创 2020-03-05 21:58:03 · 340 阅读 · 0 评论