自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 数据结构15——串的定义、类型定义及存储结构

当且仅当两个串的长度相等并且对应各个位置上的字符都相同时,这两个串才是相等的。一个地址占用四个字节,多个字符可以放在一个结点中,一个字符占用一个字节,提高存储密度。定义一个256长度的数组,加一个表示串的长度的变量,生成了一个叫S的字符串。串的内容只能是字符,数组的元素是线性表,广义表的元素还是广义表。一个串中任意个连续字符组成的子序列(含空串)b在d中的位置是5(ppt有误)不包含自身的所有子串。

2023-10-12 11:34:59 105

原创 数据结构14——队列的顺序和链式的表示和操作的实现

头删尾插在使用有限资源时,。。。

2023-10-10 15:47:37 96 1

原创 数据结构13——栈的顺序和链式表示和操作的实现,栈与递归

将top指针所指的那块空间用*运算符赋值为e,top++是top指针移到下一个空间。栈和队列也是线性表,栈后进先出:放电池,存子弹;先保存数据,在保存指针,然后将头指针也就是栈顶指针移动到正确位置。递归定义的数学函数;具有递归特性的数据结构;p=S是把要删掉的指针用p保存起来。top指针先下移,在用e返回其值。

2023-10-10 15:15:04 93 1

原创 数据结构12——双向链表和插入操作、删除操作

在单链表的每个结点里在增加一个指向其直接前驱的指针域,这样链表中就形成了有两个方向不同的链,故称为双向链表。如果知道要删除的元素的位置,算法时间复杂度为O(1)如果不知道,则需要查找位置,算法时间复杂度为O(n)考虑前后结点,前驱和后继,两头确认,考虑四步。

2023-10-07 15:29:25 150 1

原创 数据结构11——循环链表及合并算法

因为一般对链表尾部操作较多,所以循环链表不用头指针,而用尾指针,用尾指针找a(n)和a(1)的时间复杂度都是O(1)

2023-09-22 20:42:49 185

原创 数据结构10——单链表的建立算法

元素插入在链表头部,也叫前插法。元素插入在链表尾部,也叫后插法。算法的时间复杂度是O(n)算法的时间复杂度是O(n)

2023-09-21 15:53:17 65

原创 数据结构09——单链表删除结点算法

1.删除——删除第i 个结点算法步骤:算法描述:

2023-09-21 15:18:38 106

原创 Python100题——03 区间内的所有素数

根据素数的定义:素数,也被称为质数,是在自然数系中大于1的数,除了1和它本身以外,不再有其他因数,不能被其他的任何整数整除的数。1.'for num in (11,25)'是一个for循环,它的意思是:对于在元组(11,25)中的每一个数,将其赋值给变量'num',然后执行下面的代码块。所以让变量idx从2遍历到num的平方根,idx被其整除,如果余数等于0,说明被除尽,idx是num的其中一个因子,不是素数,否则是素数。在定义一个变量遍历2到num的平方根(遍历到平方根可以提高算法的效率,

2023-09-21 15:01:16 71

原创 数据结构08——单链表插值算法

1.插入——在第i 个结点前插入值为e 的新结点算法步骤:算法描述:

2023-09-20 19:47:18 107 1

原创 数据结构07——单链表查找算法

从链表的头指针出发,顺着next域逐个结点往下搜索,直到查找到与要搜索的值相等的数据为止。3)如果查遍整个链表都没有找到其值和e相等的元素,则返回0或“NULL”2)如果找到一个值与e相等的数据元素,则返回其在链表中的地址。1)从第一个结点起,依次和e比较。

2023-09-20 19:32:22 717 1

原创 数据结构06——单链表取值算法

1)从第一个结点(L-> next首元结点)顺链扫描,用指针p指向当前扫描到的结点,p初值。从链表的头指针出发,顺着next域逐个结点往下搜索,直到搜索到第i个结点为止。L是头指针,头指针存放头节点的地址,L赋值给P,所以P指向头结点。4)当j == p 时,p 所指的结点就是要找的第i 个结点。2)j 做计数器,累计当前扫描过的结点数,j 初值为1。头指针的next域指向首元结点,所以S指向首元结点。3)当p 指向扫描到的下一结点时,计数器j 加一。

2023-09-20 19:03:50 392 1

原创 Python01——turtle库绘图

【代码】Python01——turtle库绘图。

2023-09-19 19:32:42 86

原创 Python100题——02 数字的阶乘

定义一个阶乘函数和存放结果的变量result,如果输入数字num,num本身与(num-1)相乘的结果存放到result变量中,每次相乘num减一,直到num=1为止,result即为num的阶乘。

2023-09-19 19:02:06 65

原创 Python100题——01 两数之和

定义一个“两数之和”函数 ,判断输入是否为数字,如果是则输出“两数之和”;如果不是则输出“只能输入数字!

2023-09-19 18:47:18 61

原创 数据结构05——单链表的基本操作的实现

(第一个存储数据的结点)开始,指针变量P指向首元结点,依次把所有结点清除掉,再把头结点指针域设置为空。结点向后移动,指针变量P可以被删除,循环条件是L非空,当L不是空节点时,操作会反复执行。在定义一个指针变量q,存放p的下一个结点,才能把p删掉,不然删掉p后找不到下一个结点。链表仍然存在,但是链表中无元素,成为了空链表(头指针和头结点仍然存在)Lnode *q定义一个指针p,头指针赋值给指针变量p,指向。从首元结点开始,依次计数所有结点,每数一个计数器+1。,存放着头结点的地址。

2023-09-19 14:18:59 61

原创 数据结构04——单链表的定义和表示及基础操作算法

单链表由表头唯一确定,因此单链表可以用头指针的名字来命名。若头指针名字是L,则把链表称为表L。

2023-09-18 17:12:36 76

原创 数据结构03——链式表表示、实现

2)访问时只能通过头指针进入链表,并通过每个指针的指针域依次向后顺序扫描其余结点。结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻,链表中逻辑次序和物理次序不一定相同。头结点的指针域存放第一个数据元素的地址,数据域写什么都可以,但是头结点不是数据元素,所以不能计入链表长度。1)结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻。1.便于处理首元结点(首元结点和后面的结点同等看待,无需特殊处理)循环链表:结点首尾相接,最后一个结点的指针域存放首结点的地址。

2023-09-18 16:34:13 78

原创 数据结构02——线性表的顺序表小结

2)在访问线性表时,可以通过公式快速的计算出任何一个数据元素的存储地址。因此可以粗略的认为:访问每个元素所花的时间相等。1)利用数据元素的存储位置表示线性表中相邻元素之间的前后关系,即线性表的逻辑结构与存储结构一致。属于静态存储形式,数据元素的个数不能自由扩充。注:这种存取元素的方法被称为随机存取法。在插入、删除某一元素时,需要移动大量元素。存储密度大(结点本身所占存储量。空间复杂度:S(n)=O(1)可以随机存取表中任一元素。结点结构所占存储量)时间复杂度:O(n)

2023-09-18 15:13:55 68

原创 数据结构01——绪论

概念小结:

2023-09-18 14:39:04 89

原创 Python02——对象的基本组成和内存示意图

2.类型(type):类型用于标识对象存储的数据的类型,类型可以限制对象的取值范围以及可执行的操作。可以使用函数 type(obj) 获得对象的所属类型。1.标识(identity):标识用于唯一标识对象,通常对应于对象在计算机内存中的地址。3.值(value):标识对象所存储的数据的信息,使用函数 print(obj) 可以打印出值。每个对象由:标识(identity)、类型(type)、值(value)组成。变量是对象的引用,变量只存放对象的地址,所以使用变量时不需要注明类型type。

2023-09-14 16:54:16 148 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除