
数据结构
文章平均质量分 82
QFIUNE
不巧,缘分刚刚好......
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python-贪心算法
贪心算法▶ 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。▶ 贪心算法并不保证会得到最优解,但是在某些问题.上贪心算法的解就是最优解。要会判断一个问题能否用贪心算法来计算。(1)找零问题▶ 假设商店老板需要找零n元钱,钱币的面额有: 100元、50元、20元、5元、1元,如何找零使得所需钱币的数量最少?def change(bills, money): mon = [0 fo转载 2021-08-12 11:30:02 · 4709 阅读 · 0 评论 -
python-数据结构(哈希表)
哈希表原创 2021-08-11 16:54:18 · 350 阅读 · 0 评论 -
python-数据结构(单链表、双链表)
(一)单链表链表是由一系列节点组成的元素集合。每个节点包含两部分,数据域item和指向下一个节点的指针next。通过节点之间的相互连接,最终串联成一个链表。定义单链表的节点class Node: def __init__(self, val): self.val = val self.next = None创建链表(1)头插法class Node: def __init__(self, val): self.原创 2021-08-09 21:42:26 · 175 阅读 · 0 评论 -
python-数据结构(线性结构:栈、队列)
数据结构▶ 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。▶ 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。▶ 比如:列表、集合与字典等都是―种数据结构。▶ N.Wirth:“程序=数据结构+算法”▶ 数据结构按照其逻辑结构可分为线性结构、树结构、图结构。 ●线性结构:数据结构中的元素存在一对一的相互关系● 树结构:数据结构...原创 2021-08-09 16:47:11 · 510 阅读 · 0 评论 -
python-堆
堆的概念● 堆:一种特殊的完全二叉树结构▶ 大根堆:一棵完全二叉树,满足任一节点都比其孩子节点大▶ 小根堆:一棵完全二叉树,满足任一节点都比其孩子节点小堆的性质堆的性质——向下调整:▶ 假设根节点的左右孩子树都是堆,但根节点不满足堆的性质▶ 可以通过一次向下的调整来将其变成一个堆堆排序过程——农村包围城市的策略▶(1)建堆▶(2)得到堆顶元素,为最大元素...原创 2021-07-30 23:27:02 · 2962 阅读 · 1 评论 -
python-二叉搜索树(BST)
二叉搜索树(BST)(1)别名:二叉查找树、二叉搜索树。(2)根节点的值大于其左子树中任意一个节点的值,小于其右节点中任意一个节点的值。(3)BST的中序序列一定是升序的(4)二叉搜索树的操作:查询、插入、删除二叉搜索树的插入首先检查树是否有根。如果没有根,那么 insert将创建一个新的 TreeNode 并将其做为树的根。如果根节点已经就位,则 insert调用私有递归辅助函数 insert根据以下流程搜索树:(1)从树的根开始,搜索二叉树,将新键与...原创 2021-07-25 22:18:40 · 1050 阅读 · 1 评论 -
python-树与二叉树的学习
树的概念树是一种数据结构 比如:目录结构树是一种可以递归定义的数据结构树是由n个节点组成的集合:● 如果n=0,那这是一棵空树● 如果n>0,那存在1个节点作为树的根节点,其他节点可以分为m个集合,每个集合本身又是一棵树树的概念(1)根节点、叶子结点(2)树的深度(3)树的度(4)孩子节点/父节点(5)子树二叉树(每个节点最多有两个叉)二叉树的链式存储:将二叉树的节点定义为一个对象,节点之间通过类似链表的链接方式来...原创 2021-07-25 22:04:52 · 182 阅读 · 0 评论 -
python-列表排序
列表排序● 排序:将一组“无序”的记录序列调整为“有序”的记录序列。● 列表有序:将无序列表变为有序列表 ▶ 输入:列表 ▶输出:有序列表● 升序与降序● 内置怕排序函数:sort()常见排序算法排序Low B三人组 排序NB三人组 其他排序 冒泡排序 快速排序 希尔排序 选择排序 堆排序 计数排序 插入排序 归并排序 基数排序 (1)冒泡排序(Bubble Sort)● 列...原创 2021-07-22 23:57:04 · 3884 阅读 · 3 评论