算法与数据结构
文章平均质量分 55
灵台方寸山(●'◡'●)
这个作者很懒,什么都没留下…
展开
-
数据结构与算法——打开第六天
树与树算法一、数的概念数是一种抽象数据类型或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n≥1)个有限节点组成一个具有层次关系的集合。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。二、数的术语节点的度:一个节点含有的子树的个数称为该节点的度;数的度:一棵树中,最大的节点的度称为树的度;叶节点或终端节点:度为零的节点;父亲节点或父节点:若一个原创 2022-05-25 16:17:03 · 66 阅读 · 0 评论 -
数据结构与算法——打卡第五天
排序与搜索一、排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的记录维持相对次序、也就是如果一个排序算法是稳定的。当有两个相等键值的记录R和S。且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。二、排序算法(一)1、选择排序选择排序是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。...原创 2022-05-25 15:46:10 · 83 阅读 · 0 评论 -
数据结构与算法——打卡第四天
常见数据结构(二)——链表顺序表与链表都是线性表,但链表不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。三、单向循环链表单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。常见数据结构(三)——栈栈(stack)是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标)进行数据加入和输出数据的运算。由于栈数据结构只允许在一端进行操作,因而按照后进先出的原理运作原创 2022-05-20 14:21:54 · 71 阅读 · 0 评论 -
数据结构与算法——打卡第三天
常见数据结构(二)——链表顺序表与链表都是线性表,但链表不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。一、单向链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。class Node(object): def __init__(self,item): ...原创 2022-05-18 23:58:33 · 66 阅读 · 0 评论 -
数据结构与算法——打卡第二天
常见数据结构(一)——顺序表内存中,一个字节(8位)位作为一个标识,为一个存储单元。顺序表:将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。一、顺序表的基本形式1.顺序表的基本布局逻辑地址元素存储物理地址0e0l01e1l0+1*c2e2l0+2*c3e3l0+3*c………n-1en-1l0+(n-1)*c上图所示是顺序表的基本形式,数据元素本身连续存储,每个元素所占的存储单元大小固定原创 2022-05-15 14:03:54 · 129 阅读 · 0 评论 -
数据结构与算法——打卡第一天
算法算法:解决问题的思路。算法的5大特性:1)输入:算法具有0个或多个输入;2)输出:算法至少有1个或多个输出;3)有穷性:算法在有限的步骤之后会自动结束而而不会无限循环,并且每一个步骤可以在可接受的时间内完成;4)确定性:算法中的每一步都有确定的含义,不会出现二义性;5)可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成。算法效率衡量一、时间复杂度用基本运算数量来描述时间复杂度。时间复杂度的几条基本计算规则:1.基本操作,即只有常数项,认为其时间复杂度为O(1)原创 2022-05-15 11:27:07 · 235 阅读 · 0 评论