自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 排序及其算法

【代码】排序及其算法。

2023-06-12 19:35:22 106 1

原创 查找及其算法

若左子树非空,则左子树上所有结点的值均小于根结点的值。若右子树非空,则右子树上所有结点的值均大于根结点的值。左、右子树也分别是一棵二叉排序/*二叉树的二叉链表结点结构定义*/int data;//结点数据//左右孩子指针/*递归查找二叉排序树T中是否存在key指针f指向T的双亲,其初始调用值为NULL若查找成功,则指针p指向该数据元素结点,并返回TRUE否则指针p指向查找路径上访问的最后一个结点并返回FALSE*/if(!T){*p = f;//查找成功*p = T;

2023-06-12 19:26:39 148

原创 图及其应用操作

在线性表中,数据元素之间是被串起来的,仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继。在树形结构中,数据元素之间有着明显的层次关系,并且每一层上的数据元素可能和下一层中多个元素相关,但只能和上一层中一个元素相关。图是一种较线性表和树更加复杂的数据结构。在图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。一、图的定义。

2023-06-12 19:22:32 560

原创 串,数组和广义表

串的定义:串是由零个或多个字符组成的序列,是的特殊线性表。串长:串中所包含的字符个数。空串:长度为零的串,它不包含任何字符。记作“∅”空格串:由一个或多个空格组成的串,其长度为串中空格字符的个数。它与空串∅是不同的概念。子串个数:2n+1串与线性表的区别:1.串的数据对象约束为字符集。2.线性表的基本操作中,大多以“单个元素”作为操作对象;而串的基本操作中,通常以“串的整体”作为操作对象。串与字符的区别:"a"串,长度为1的串。(除了要存储字符‘a',还要存储串长1)'a'字符a。

2023-06-12 18:09:19 155

原创 哈夫曼树的运用

在认识哈夫曼树之前我们先来认识几个新的概率。1.路径:任意两节点之间的那条边。2.路径长度:任意两节点之间的边数,就是一个节点到另一个结点需要经过几条边。3.权值:赋予某一结点的值。4.结点的带权路径长度:任意一个结点的值乘以路径长度(该结点到树根结点)。5.树的带权路径长度:所有的叶子的带权路径长度之和。

2023-05-16 13:59:49 81

原创 二叉树及其操作

二叉树基本操作:二叉树:先序就是中左右,中序就是左中右,后序就是左右中,层次就是逐层访问,从左到右。

2023-05-04 03:47:30 165

原创 数据结构之链队列

在队列的形成过程中,可以利用线性链表的原理来生成队列。基于链表的队列动态创建和删除节点效率低下,但它们可以动态增长。队列中使用FIFO(先进先出)。新元素(等待进入队列的元素)总是插入到列表的末尾,并从列表的头部读取。一次读取一个元素,一次释放一个元素。所谓动态创建,动态发布。因为链表是由结构间接形成的,所以也方便遍​​历。队列是一种特殊的线性表,只允许在表前删除,而在表后插入。和栈一样,队列也是一个受限的线性表。插入操作的结束称为队列尾,删除操作的结束称为队列头。优点:更加灵活,不需要判断队列是否满;

2023-04-25 21:44:46 161

原创 栈的运用以及括号匹配问题

对于一组算式,判断其中括号匹配问题,例如:{())},对于肉眼而来,一眼可以可以判断其匹配有问题,而对于计算机来说,利用栈也可以做到很轻松的括号匹配。

2023-04-25 14:14:34 100

原创 细谈汉诺塔问题

汉诺塔问题就是有三根柱子,要将一个柱子上的全部盘子按照原来的从小到大的顺序移到另一个柱子上;。关键:利用递归的思路,先将n-1个盘子放到过渡柱子柱子上,再将最底下的柱子放到目的柱子上,然后再将这n-1个盘子放到目的柱子。

2023-04-25 13:50:50 109

原创 汉诺塔问题

【代码】汉诺塔问题。

2023-04-23 14:05:53 74

原创 线性表的总结

在前三周的学习之中,我们开始学习接触数据结构,并且开始学习线性表的定义及相关存储方式。1.顺序表:线性表的顺序存储结构,学习了其相关的基本操作及其定义。2.链式表:链式存储结构,并且学习了其相关增添,减去等相关操作。优点:插入删除只需改变节点中的地址,缺点:失去了随机存储特性。优点:可以快速查找需要元素,缺点:插入删除操作麻烦。4.多项式加法及其扩展的乘法相关操作。3.静态链表:类似于数组的存储结构。

2023-04-20 00:35:00 87

原创 汉诺塔问题

2.对于两个盘子来说,需要将上面一个放到中间柱子,另一个放过去,再放中间柱子那个;3,对于三个盘子来说,先放两个到中间,再放底下一个过去,最后再把中间那个过去。对于汉诺塔问题来说:将一个柱子的飞盘全部放到第三个柱子。****以此类推可以发现递归的规律;1.对于一个盘子来说,只用动一次;

2023-04-20 00:25:26 76

原创 数据结构第三周课(多项式的加法)

【代码】数据结构第三周课(多项式的加法)

2023-04-11 14:06:11 85

原创 第三周课内容(静态链表)

在上周的学习中,我们了解到了静态链表的相关性质,及静态链表中元素的存储方式,及其删除和添加的相关的操作。对于线性链表,我们可以利用一维数组来进行表示。静态链表的缺点:失去了顺序储存结构随机存取的特征,没有解决连续储存分配带来的表长难以确定的问题。​​​优点:在静态链表中插入以及删除元素时不需要移动元素,只需要修改指针。接下来让我们来学习静态链表初始化和删除及增添的操作。

2023-04-11 14:02:35 92 1

原创 数据结构课收获(第二周第一次课)

一、第本节课介绍了线性表的链式结构及其相关的操作。了解到了线性表中的节点是有两部分构成(数据域+指针域),同时也学习了单链表的增添、删除等操作的原理以及相应的代码。通过对增添append和删除delete函数的学习,更加深刻的了解到了单链表顺序存储的原理及其相关的操作,让我明白了敲代码前研究代码原理的重要性。其中单链表的特点:单链表不要求逻辑上相邻的两个元素在物理位置上也相邻,因此不需要连续的存储空间.二、学习了空表的相应知识及其存在的合理性。

2023-03-30 07:36:08 154

原创 第二次数据结构课收获

学习了’线性表的定义以及其特点及线性表的顺序存储,于是学会了线性表的相关知识,以及算法的基础思考方式,并且也了解到了代码测试的重要性。

2023-03-28 20:34:18 106

原创 初识数据结构

数据结构的初步认识

2023-03-23 00:06:40 238 1

空空如也

空空如也

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

TA关注的人

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