数据结构和算法(Python)
小花024
滚起来……
展开
-
数据结构与算法(一)哈希表(Hash Table)
数据结构与算法(一)哈希表(Hash Table)简单实现哈希表标准实现LeetCode思想实践:哈希表是一种数据结构,其中数据以关联方式存储(以key, value格式)。Key或index是唯一的。这种存储方式使得过后更容易找到数据。哈希表将数据存储为数组(array)格式。它使用散列函数(hash function)生成插槽(slot)或索引来存储和插入任何元素或值。我们将创建自己的散...原创 2019-01-03 21:08:07 · 1463 阅读 · 0 评论 -
数据结构与算法(二)单链表(Singly linked list)
数据结构与算法(二)单链表(Singly linked list)链表(Linked list)Python完整功能实现LeetCode思想实践:链子这个东西大家一定都不陌生, 脖子上有项链, 自行车上有车链, 手表上有表链…今天我们要研究的单链表就和他们如出一辙链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一...原创 2019-01-04 21:28:28 · 3040 阅读 · 2 评论 -
数据结构与算法(三)队列与堆(Queue and Heap)
数据结构与算法(三)队列与堆(Queue and Heap)队列(queue)堆(Heap)堆排序(Heapsort)LeetCode思想实践:队列(queue)基本FIFO队列是先进先出( First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。除基本FIFO队列外, 还...原创 2019-01-05 21:43:07 · 481 阅读 · 0 评论 -
数据结构与算法(四)二叉树(Binary tree)
数据结构与算法(四)二叉树及其访问方法二叉树(Binary tree)基本性质完全二叉树(Complete Binary Tree)满二叉树 (Full Binary Tree)- 国内定义- 国外定义访问二叉树的方法 (Tree Traversals)前序遍历中序遍历后序遍历层次遍历LeetCode思想实践昨天我们学习了堆。堆的数据结构其实就是完全二叉树。今天我们就专门学习一下什么是二叉树。...原创 2019-01-06 21:20:04 · 702 阅读 · 1 评论 -
数据结构与算法(五)递归与动态规划(Recursion & Dynamic programming)
递归与动态规划(Recursion & Dynamic programming)递归(Recursion)求阶乘斐波那契数列(Fibonacci)汉诺塔(Tower of Hanoi)动态规划(Dynamic programming))图解小结Python实现递归(Recursion)普通程序员使用迭代,天才程序员使用递归!所谓递归,就是有去有回。在数学与计算机科学中,是指在函数的定...原创 2019-01-07 19:50:26 · 786 阅读 · 0 评论 -
数据结构与算法(六)递归实战
文章目录LeetCode:17. Letter Combinations of a Phone Number46. Permutations昨天我们学习了递归思想和动态规划思想,今天我们做两道实战题LeetCode:17. Letter Combinations of a Phone Numberhttps://leetcode.com/problems/letter-combinati...原创 2019-01-08 21:37:10 · 259 阅读 · 0 评论 -
数据结构与算法(七)动态规划(dp算法)实战
动态规划(dp算法)实战0-1背包问题LeetCode实战132. Palindrome Partitioning II写在最后今天轮到dp算法实战了。首先要自我实现0-1背包问题,然后是LeetCode #132。0-1背包问题关于背包问题,其实可以分为两种类型:0-1背包问题 和 部分背包问题。先通过一个例子来说明一下二者的区别吧!有一个窃贼在偷窃一家商店时发现有n件物品,第i件...原创 2019-01-09 21:46:26 · 1337 阅读 · 0 评论