自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 17

问题       设有两个链表,ha为单向链表,hb为单向循环链表。编写算法,将两个链表合并成一个单向链表,要求算法所需时间与链表长度无关。分析       所需时间与链表长度无关,只有使用带尾指针的单循环单链表,将该序列插入单向链表第一元素之前即可。代码LinkList mergeList(LinkList &ha, LinkList &hb){ ///ha单向链表,

2016-09-27 23:25:01 477

原创 16

问题       已知L1、L2分别为两循环单链表的头结点指针,m,n分别为L1、L2表中数据节点个数。要求设计一算法,用最快速度将两表合并成一个带头结点的循环单链表。分析      最快的速度,遍历长度较短的链表,找到尾结点,然后将该链表插入到长度较长的链表中,即可。代码LinkList mergeList(LinkList &l1, int m, LinkList &l2,

2016-09-27 22:54:04 976

原创 15

以后补充

2016-09-27 22:17:46 368

原创 14

以后补充

2016-09-27 22:17:23 314

原创 13

以后补充

2016-09-27 22:17:10 232

原创 12

以后补充

2016-09-27 22:16:45 385

原创 11

问题       已知两个链表A和B分别表示两个集合,且元素递增排列。编一函数,求A和B的交集并存放于A链表中。分析          将A链表置空,从A和B有相同的结点的时候,插入到A链表中。代码typedef int ElemType;typedef struct LNode { ElemType data; struct LNode * next;}L

2016-09-26 18:00:53 240

原创 10

问题       设带头结点且头指针为ha和hb的两线性表A和B分别表示两个集合。两表中元素皆为递增有序。请写一算法求A和B的并集。要求该并集中的元素仍保持递增有序,且要利用A和B原有结点空间。分析       实际上思路和第9题类似,把B中有而A中没有的元素插入到A中去,不就是第9题么。只不过不用重新申请空间保存B的结点,直接用B的结点就行。代码typedef int Ele

2016-09-26 17:46:04 438

原创 9

题目       设有两个无头结点的单链表,头指针分别为ha、hb,链表中有数据域data,链域next,两链表的数据都按递增序存放,现要求将hb表归到ha表中,且归并后ha仍递增序,归并中ha表中已有的数据若hb中也有,则hb中的数据不归并到ha中,hb的链表在算法中不允许破坏。分析代码源代码

2016-09-26 17:25:29 777

原创 8

问题       1.设有两个有序单链表,一为升序,一为降序。试编写程序,将这两个链表合并成一个有序链表       2.设A为递增有序单链表(长度为n),B为递减有序的单链表(长度为m),编写程序,和用原表的存储空间,将A、B合并成一个递增有序单链表,要求时间复杂度为O(n+m)分析         这两道题是一道题,将降序的单链表逆序成升序的单链表,然后思路和上一题思路一样。

2016-09-25 22:29:13 1002

原创 7

问题            假设有两个按元素值递增次序排列的线性表,均以单链表形式存储,请编写算法将这两个单链表归并为一个按元素值递减次序排列的单列表,并要求利用原来两个单链表的结点存放归并后的单链表。分析             两个链表均是按元素值递增次序排列,从头开始遍历链表l1和l2,假设合并后的链表存到l1中,则首先将l1置为空表,此时,如果l1对应结点的值小于l2对应结点的

2016-09-24 23:01:21 306 1

原创 6

题目       用单链表保存m个整数,结点结构为:[data][link],且(n为正整数),现要求设计一个时间复杂度尽可能高效的算法,对于链表中data的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。       例如,给定单链表如下则删除结点后的head为分析            1个足够大的数组,保存结点data绝对值出现的次数,

2016-09-24 18:10:11 3450

原创 5

问题       已知一个整数序列A={},其中(),若存在且m>n/2(),则称X为A的主元素。例如A={0,5,5,3,5,7,5,5},则5为主元素,又如A={0,5,5,3,5,1,5,7},则A中没有主元素。假设A中的n个元素保存在一个一维数组中,设计一个尽可能高效的算法,找出A的主元素。若存在主元素,则输出该元素,否则输出-1。分析       数组A有n个整数

2016-09-24 17:32:29 700

原创 4

问题假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可以共享相同的后缀存储空间。例如“loading”和“beging”的存储映像如下图所示。设str1和str2分别指向两个单词所在的单链表的头结点,链表结点结构为(data,next)。请设计一个时间上尽可能高效的算法,找出由str1和str2所指的两个链表的共同后缀的起始位置(如上图中字符i所在结点的位置p)分

2016-09-23 23:54:31 1052

原创 3

题目       一个长度为L(L>=1)的升序序列S,处在第(L/2)个位置的数称S的中位数。两个序列的中位数是包含他们所有元素的升序序列的中位数,试设计一个在时间和空间两方面都尽可能高效的算法,找出两个升序序列A和B的中位数。分析      一个升序序列S1={11,13,15,17,19},S1的中位数是15,S2={2,4,6,8,20},则S1和S2的中位数是11。   

2016-09-23 22:53:16 386

原创 2

问题       设将n(n>1)个整数存放到一维数组R中。试设计一个在时间和空间两方面都尽可能高效的算法,将R中保存的序列循环左移P(0分析     1.可以每次左移一次,循环k次。     2.用一个新数组,按照题目上的要求复制原数组     3.进行三次逆转操作,第一次0到p-1进行你装,第二次p到n-1进行逆转,第三次0到n-1进行逆转。逆转过程如图。

2016-09-22 23:54:15 541

原创 1

问题           已知一个带头结点的单链表,结点结构为(data,link)假设该链表只给出了头指针list,在不改变链表的前提下,设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数),若查找成功,算法输出该结点的data域的值,并返回1,否则,只返回0。分析    设置两个指针p、q,分别指向该链表的第一个元素(头结点的下一个元素),一个整数num(初值为

2016-09-22 22:42:51 1861

原创 数据结构线性表一些知识点

先空着,后面补充

2016-09-22 21:36:55 370

原创 不知道说点啥

在准备考研,用的参考书《算法与数据结构考研试题精析》第三版,上面有362道算法分析题,用博客的方法记录思想和相关代码。因为有点懒,所以用这个方法督促自己每天看几道算法设计题,写出来的东西自己掌握的应该差不多了。删除了自己之前的一些博客,因为这些博客自己都看不下去。今天离考研还有93天,因为一些坑爹的原因,小不在状态。好吧,不知道说啥了。

2016-09-22 21:32:56 256

空空如也

空空如也

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

TA关注的人

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