自定义博客皮肤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)
  • 收藏
  • 关注

原创 数据结构作业之排序算法

1.代码如下。

2024-07-13 12:08:58 104

原创 数据结构作业之哈希表

2)key%listsize算出位置,如果该位置已经被占用,就挪到下一个位置,如果还是被占用,就不断往下移。1)初始化时将每一个位置的值和字符初始化为-1和x。

2024-06-24 18:46:22 83

原创 数据结构作业之顺序查找与二分查找

2)二分查找时,left初始为1,right初始为length,middle为(left+right)/2,每次进行比较大小后,将left替换为middle+1或者right替换为middle-1操作。1)顺序查找时,存储数据从下标1开始存储,将下标0的位置存储为要查找的值(哨兵)

2024-06-24 11:47:20 211

原创 数据结构作业之Prim算法与Dijkstra算法

1)用0来说明结点与结点间无连接,距离换为MAX_SIZE,即10000(结点到自身的距离也为0,此时也换为10000,distanceArray[source]=0这句代码会使到自身的距离为0)3)dijkstra算法是求并且记录到结点的最短距离,Prim算法则是求并记录最短边,这两个算法的代码竟然可以只有几行不同。2)用parentArray数组来记录它的前一个结点,用visitedArray数组来标记一个结点是否已经被访问。

2024-06-19 22:12:04 234

原创 数据结构作业之邻接表及广度优先遍历

1)先使用指向结构体的指针的数组header完成每一行头结点的分配。3)广度遍历与图的广度遍历相同,都是用队列进行遍历。2)每一行后面结点的插入和单链表的插入相同。

2024-06-17 09:25:26 169

原创 数据结构作业之图的遍历

3)深度遍历时的条件为判断该结点是否被访问,如果没有再判断该结点与其他结点是否有连接。1)使用数组visited来记录节结点是否遍历,1代表已经遍历,0代表没有遍历。2)深度遍历是用递归来实现,即栈,而广度遍历使用队列来实现。而广度遍历的条件是筛选出未被访问和有连接的结点入队。

2024-06-17 09:06:31 228

原创 数据结构作业之N后问题

2)N后问题先将皇后放在第一行第一列,再将皇后放在第二行第一列,判断条件,如果可以就到下一行,不行就往后移,若移到这一行最后都不符合条件,则使上一行的皇后列数向右移(类似于回溯)1)用数组parasolution[i]来存储第i行存储第几列。3)运行结果将列出所有符合条件的N后问题解法。

2024-05-28 21:24:39 236

原创 数据结构作业之二叉树的构建与遍历

1)在将字符串构建为树时,让#来代表NULL说明子树为空。2)层序遍历时,使用队列,将子树入队,父母树出队。3)在进行前中后序遍历的时候,注意判断树是否为空。

2024-05-27 16:33:45 210

原创 数据结构作业之压缩矩阵的转置

1)进行稀疏矩阵的压缩,先将非零元素用三元组的形式表示出来,再按照升序进行计数,进行压缩,即存储在一维数组中。2)在一维数组中,每一行存储的位置下标等于他前一行之前的元素个数加上他前一行本身的元素个数。3)在转置的时候,需要将一维数组的值加一,来处理同一列多个元素的情况。

2024-05-27 16:03:32 132

原创 数据结构作业之二维数组和矩阵乘法

2)矩阵乘法由三个for循环构成,由图示可以发现(x,y)和(y,z)中的y是不断递增的,故k在最里层,j代表第二个矩阵的列,i代表第一个矩阵的行。1)代码提供了两种二维数组的初始化方法,由二维数组动态分配空间,进而可以想到多维空间的分配方法。

2024-05-13 17:17:30 143

原创 数据结构作业之循环队列

2)循环队列即使是满队列,其实队列的空间并没有满,rear和front之间还有一个位置,如果不这样做的话,将队列的每一个位置的空间都占用,则判断队列已满时为rear==front,当rear和front初始化为0时,即队列为空时,会直接判断为队列已满,发生错误。1)由于入队和出队操作,可能使得front 和rear 的位置不再是0,因此不管是入队是的rear加1,还是出队时的front加1,都需要除以队列的长度。

2024-05-13 16:44:35 244

原创 数据结构作业之链队列

3)在进行出队操作时,需要判断rear指针指向的Node是否为需要出队的节点,如果是,需要将rear指向front指针的节点。如果不这样做,而是让rear=NULL,无法进行入队操作。1)paraQueuePtr->front是一个头节点。2) 在进行入队操作时,记得将rear指针往右边移。

2024-05-09 16:00:08 200

原创 数据结构作业之累加的递归实现

2)该递归的时间复杂度为O(n),空间复杂度为O(n)1)递归其实是一个栈,将每一个函数先压栈,再进行出栈。

2024-05-05 12:11:58 145

原创 数据结构作业之栈的应用--括号匹配

1)代码先在栈底压入一个‘#’,用于判断是否到达栈底,在最后要判断栈底是否为‘#’2)除了括号其他的字符数字都不会进入栈中。

2024-05-05 11:45:27 164

原创 数据结构作业之栈

2) 在进行出栈时,需要判断栈是否为空,并及时更新top。1)在进行压栈时,需要判断栈是否已满,并及时更新top。3)初始top为-1,来 表示没有元素的起始情况。

2024-04-26 18:46:16 160 1

原创 数据结构作业之多项式的加法

1)在进行appendElement函数时,让p=paraHeader ,需要判断p->next是否为NULL ,如果让p=paraHeader->next 或者让判断条件为p时 ,循环内条件不变,都会使出循环时p=NULL ,导致p->next语句出现问题,NULL是没有next的。2)在进行多项式加法时,一共有三种情况,p的指数大于q的指数,p的指数小于q的指数,p的指数等于q的指数其中,p的指数等于q的指数情况还需要判断系数是否为0的情况。

2024-04-26 15:34:50 238 2

原创 数据结构作业之静态链表

1)用一个动态数组来记录节点是否被使用,0代表未被使用,1代表已被使用。2)当node的next表示-1时,表示NULL。4)在进行删除操作时要考虑是否到达了链表的末尾。3)在进行插入操作时仍然要考虑是否越界的情况。

2024-04-21 14:17:29 166 1

原创 数据结构作业之双向链表

1)在打印带头节点链表时从head->next开始,而进行插入和删除操作时从head开始。2)在插入时需要判断插入位置是否超出链表范围,并且需要判断指针r是否为NULL。3)在删除时需要判断是否到达链表的末尾。

2024-04-20 20:29:46 217

原创 数据结构作业之单链表

2)用指针p来寻找某一个特定节点位置时应该使用p->next来进行判断,这样就能使得插入和删除时的前一个节点,插入(删除)节点,后一个节点成为一个整体,能够进行p->next,p->next->next操作。3)在进行插入节点操作时,先让前一个node的next赋给插入node的next,再将插入node的地址赋给前一个节点的next,这样就不会使前一个node的next被替代,无法将后一个节点的地址传递。2.图示插入和删除操作。

2024-04-09 21:07:04 278

原创 数据结构作业之顺序表

2)在对顺序表进行插入时,需要注意三点,一是顺序表是否已经满了,二是插入的位置是否小于0,三是插入的位置是否大于actual length。3) 在对顺序表进行删除时,需要注意两点,一是删除的位置是否小于0,二是删除的位置是否大于等于actual length。4) 注意在代码进行插入和删除后记得改变actual length的值。1)actual length 是数据的个数,而i是数组的下标。5)在清除顺序表时,需要让actual length 的值为0。3.图示插入和删除操作。请按任意键继续. . .

2024-04-06 11:50:43 646 1

空空如也

空空如也

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

TA关注的人

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