自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构:串

串(string) 是由零个或多个字符组成的有限序列,又名叫 字符串。串 的逻辑结构和线性表很相似,不同之处在于串针对的是字符集,也就是串中的元素都是字符。因此,对于串的基本操作与线性表是有很大差别的。线性表更关注的是单个元素的操作,比如查找一个元素,插入或删除一个元素,但串中更多的是查找子串位置,得到指定位置子串,替换子串等操作。串 的存储结构与线性表相同,分为两种:串的顺序存储结构:串的...

2020-04-20 16:34:07 432

原创 数据结构:栈

栈(stack):是限定仅在表尾(栈顶)进行插入和删除操作的线性表。我们把允许插入和删除的一端称为 栈顶(top),另一端称为 栈底(bottom),不含任何任何数据元素的栈称为 空栈。栈又称为 后进先出(Last In First Out) 的线性表,简称 LIFO 结构。栈 是线性表的特例,其具备先进后出 FILO 特性。可以使用线性表的顺序存储结构(即数组)实现栈,将之称之为 顺序栈;可...

2020-04-11 09:57:38 183

原创 数据结构:线性表

单链表1.读取获得链表第i个数据的算法思路:(1)声明一个结点p指向链表第一个结点,初始化j从1开始;(2)当j<i时,遍历链表,让p的指针向后移动,不断指向下一个结点,j累加1(3)若到链表尾p为空,则说明第i个元素不存在;(4)否则查找成功,返回结点p的数据。代码如下:2.插入单链表第i个数据插入结点的算法思路:(1)声明一个结点p指向链表第一个结点,初始化j从1...

2020-03-31 19:03:04 158

原创 数据结构:线性表

线性表1.定义线性表是最基本、最简单、也是最常用的一种数据结构。线性表是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储,但是把最后一个数据元素的尾指针指向了首位结...

2020-03-31 18:27:38 269

原创 算法

一,背包问题1.题目一共有N件物品,第i(i从1开始)件物品的重量为w[i],价值为v[i]。在总重量不超过背包承载上限W的情况下,能够装入背包的最大价值是多少?2.分析题目要求要装取价值最大的额东西,如果采用暴力穷举的方式,每件物品都存在装入和不装入两种情况,这中方法很复杂。而使用动态规划可以将问题简单化。我们的目标是书包内物品的总价值,而变量是物品和书包的限重,所以我们可定义状态f:...

2020-02-16 20:41:07 179

原创 例题

一,某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同:院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;成绩优秀奖,每人2000元,期末平均成绩高于90分(&...

2020-02-02 19:14:30 383

原创 链表(2)

一,链表———插入

2020-02-02 17:54:01 128

原创 链表(1)

在存储一大波数的时候,我们通常使用的数组,但有时候数组显得不够灵活,比如下面这个例子。有一串已经从小到大排好序的数 2 3 5 8 9 10 18 26 32.现在需要往这串数中插入6使其得到的新序列仍符合从小到大排列。如果使用数组实现这一操作,则需要将8和8后面的数都依次往后挪一位。这样操作显然很耽误时间,如果使用链表则会快很多。那该如何实现链表呢?在C语言中可以使用指针和动态分配内存函数m...

2020-02-01 22:27:09 92

原创 算法:队列,栈

队列:当我们在火车站排队时,第一个排队的人会第一个买到票,而后面来的只能排在最后,这种情况就是队列。C语言中也有相应的情况,如:现有一串加密的数字,你需要解密,规则如下:首先将第一个数字删除,然后将第二个数字放在最后一位上,再将第三个数字删除并把第四个数字放在最后一位上,以此类推,知道剩下最后一个数字,将最后一个数字也删除。按照刚才删除的顺序,把这些数重新排序。现在我们需要考虑如何删去和移...

2019-12-15 20:52:16 128

原创 算法:排序

冒泡排序:冒泡排序,是一种较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”...

2019-12-15 19:27:27 83

原创 c语言例题

现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:1/1,1/2,1/3,1/4,1/5,…2/1,2/2,2/3,2/4,…3/1,3/2,3/3,…4/1,4/2,…5/1,…我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…现在输入一个整数N,输出第N项的数求解思路:当我们发现规...

2019-12-07 11:58:59 592

空空如也

空空如也

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

TA关注的人

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