- 博客(63)
- 收藏
- 关注
原创 c语言程序设计---(动态内存分配)考研复试面试问答
位置时释放。(5)对同一块动态内存多次释放。比如开辟了一次内存空间,但是使用了多次free(p);为了避免这种现象,建议释放内存同时把指针p置为null。
2025-03-11 19:03:49
383
原创 c语言程序设计--(指针)--考研复试面试考点提问,来看看我的回答吧,注重理解,自己的语言表述!!!
C语言中变量的值都存储在计算机内存特定的存储单元中。内存中的每个单元都有唯一的地址,就像街区中的房子都有唯一的地址。宾馆的房间都有唯一的编号一样。如果要获取变量的地址就要用到取地址运算符&。将地址形象化为一个指针。总结,指针就是变量,变量里面存的是地址,所以可以理解成指针就是地址。指针的大小在32位平台是四个字节,在64位平台是八个字节。理解野指针就是指针指向的位置是不可知的随机的,不正确的,没有明确限制的。成因。
2025-03-11 16:01:04
911
原创 c语言程序设计--(数据的存储)冲刺考研复试面试简答题,看看我是怎么回答的吧!!!!!
描述的就是数据在内存中存放的字节的顺序是每个数据按字节存放的顺序。大端存储模式(大端字节序存储模式)是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中。小端存储模式(小端字节序存储模式)是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。
2025-03-08 19:55:24
307
原创 c语言程序设计--(结构体、共用体)冲刺考研复试中的面试问答,来看看我是怎么回答的吧!
结构体与联合体的区别。谈谈你对结构体的理解。谈谈你对联合体的理解。为什么要存在内存对齐呢?结构体的传参是怎么样的呢?枚举的优点是什么?
2025-03-08 15:42:13
898
原创 c语言程序设计---(函数部分)决战冲刺考研复试,必考问答题(来看看我是怎么答题回复面试老师的吧!!)
计算机考研复试c语言程序设计,面试提问常考点!!!!!记得规范作答呀
2025-03-07 19:13:38
673
原创 数据结构--串的基本概念
目录串的基本概念串的定义串与线性表对比 串的基本操作串的比较字符集编码乱码问题编辑总结串的存储结构串的顺序存储编辑串的链式存储串的基本操作1、求字串 2、比较3、定位操作总结
2023-11-21 00:27:20
476
原创 数据结构--线性表回顾
线性表注意的地方(1)相同的数据类型(2)有序(3)有限(4)位序是从1开始的,而数组下标是从0开始的起始地址=上一块的起始地址+数据元素的大小。
2023-10-20 19:59:58
391
原创 数据结构--B树
(自己可以容易理解的整理)绝对平衡,是没有高度差的终端结点:包含信息叶子结点(本质就是失败节点,它是个空指针):不包含信息分叉个数最多的就是阶,图中分叉最多是5个,所以是5阶2)若根节点不是终端结点,则至少有两颗子树的原因:是保证绝对平衡,没有高度差5)所有叶结点都出现在同一层原因:是保证绝对平衡,没有高度差4)K是关键字,P是指针,n是记录实际关键字到底有几个;K1<K2<....Kn是说关键字必须有序(这里是递增,也可以递减,只要有序即可)最小高度的计算最大高度的计算B树的本节总结。
2023-10-18 21:41:00
917
原创 数据结构--基数排序(考察不多,会手动模拟即可)
元素出来的顺序是从Q9开始出,同时Q9这列对头位置先出,然后再出队尾的元素,然后依次是Q8、Q7、Q6、Q5、Q4、Q3、Q2、Q1、Q0。建立数组:数组从Q9开始,依次Q8Q7Q6Q5Q4Q2Q1Q0。以“十位”进行分配(以第一趟排好的顺序为基准)将元素的个位按照数组下标依次放入到数组里面。仍然是从Q9开始出,对头先出,然后队尾再出。仍然是从Q9开始出,对头先出,然后队尾再出。十位相同的按照个位递减排序。位相同则按照十位递减排序,位相同则按照个位递减排序,
2023-09-27 18:56:32
180
原创 数据结构--归并排序(Merge Sort)
前提是:i,j对应的数组里面元素有序i指针所剩余的元素全部放入到k指针所对应的数组后的效果,如下图。
2023-09-27 18:20:32
537
原创 数据结构--堆排序
回忆基于选择排序的特性:选取关键字最小(或者最大)的元素放入到序列里面,知道了大堆和小堆概念,所以将数组转换为二叉树用大小堆,进行选择排序比较方便。
2023-09-26 21:01:18
204
原创 数据结构-在堆中插入或删除新元素
还是在完全二叉树里面比较大小,此时孩子之间对比78和87,更小的是78,然后堆底元素46和更小元素78对比,比其小,满足小根堆,所以一趟完成。删除13后,将数组里面最后一个元素(即完全二叉树里面的堆底元素)放入到删除元素后的空缺位置)孩子之间要对比一次,判断出来哪个更小,然后需要移动的元素再和更小元素对比,依次类推。接着对比,根据小根堆,在完全二叉树里面看,这个堆底元素46和孩子对比。根据小根堆,在完全二叉树里面看,这个堆底元素46和孩子对比,如果46比其大,让这个46元素下坠,让其符合小根堆。
2023-09-26 20:54:33
1186
原创 数据结构--选择排序
找到最小的元素和第一个元素交换位置得到接下来第一个位置不用管了,从剩下的元素中扫描找到最小的元素放到前面得到第二趟依次类推, 第三趟第四趟,3-7这组有两个49最小,选择左边的49放到剩余元素的开头第五趟:第六趟:第七趟:即。
2023-09-24 18:03:21
75
原创 数据结构--希尔排序
目录希尔排序的定义 给一个序列进行希尔排序 希尔排序的算法实现 算法性能分析1.时间复杂度2.稳定性 3.适用性 知识点回顾 第一趟d可以是元素个数/2相距为4的子表 对子表进行直接插入排序(由小到大) 得到结果是 第二趟相距为2的元素为一组 相距为2的子表 对子表进行直接插入排序(由小到大) 第二趟得到结果是 第三趟d=1,相距为1的元素为子表,正好就是所有的元素,整个表已经呈现出“基本有序”,对整体在进行一次“直接插入排序” 第三趟的子表 第三趟子表排序后的结果 不稳定仅适合于顺序表,不适用
2023-09-19 19:05:03
1073
原创 数据结构--插入排序
之前的元素有序,后面无序,同时是顺序存储的,利用折半查找可以更快的查找到所要插入元素的位置。除非最好的情况,在已经有序排列的情况下时间复杂度是O(n) (只需要比较,不需要移动元素)只要采用插入排序,时间复杂度一定是O(n^2);空间复杂度和问题规模无关。
2023-09-19 15:31:20
240
原创 数据结构--平衡二叉树
目录 平衡二叉树定义平衡二叉树的插入调整最小不平衡子树 LL型RR型 LR型编辑 RL型编辑练习 查找效率分析编辑回顾知识点平衡二叉树的删除例1 编辑 例2编辑例3 例4编辑编辑 平衡二叉树的删除回顾编辑 代码思路 总结 可以证明含有n个结点的平衡二叉树的最大深度为O(log2N), 平衡二叉树的平均查找长度为O(log2N)(这log是以2为底n的对数)
2023-09-16 20:49:58
605
原创 数据结构--哈希表,哈希函数(或者散列表、散列函数)
目录哈希表的定义处理冲突的方法--拉链法 散列查找常见的散列函数(构造哈希函数)除留余数法直接定址法数字分析法平方取中法 圈出来部分,分别是除了第一层查找1次,其他每个元素查找次数 装填因子a=表中记录数/散列表长度
2023-09-13 18:49:07
246
原创 数据结构--折半查找
图中的数字是编号,是分别对应画出含有1个元素,2个元素,3个元素.....的查找表对应的折半查找判定树的样子。图中的数字是编号,是分别对应画出含有1个元素,2个元素,3个元素.....的查找表对应的折半查找判定树的样子。紫色是查找失败,绿色是查找成功,1/11和1/12分别是对应的成功和失败元素的概率。如果当前low和high之间。如果当前low和high之间。如果当前low和high之间。元素,则mid分割后,元素,则mid分割后,这里是对mid向下取整。元素,则mid分割后,元素,则mid分割后,
2023-09-12 14:52:16
1067
原创 数据结构--关键路径
1.只有在某顶点所代表的事件发生后,从该顶点出发的各有向边所代表的活动才能开始;2.只有在进入某顶点的各有向边所代表的活动都已结束时,该顶点所代表的事件才能发生。另外,有些活动是可以并行进行的。 从源点到汇点的有向路径可能有多条。所有路径中,具有最大路径长度的路径称为关键路径,而把关键路径上的活动称为关键活动。完成整个工程的最短时间就是关键路径的长度。如果关键活动不能按时完成,则整个工程的完成时间就会延长。 若关键活动耗时增加,则整个工程的工期将增长。缩短关键活动的时间,可以缩短整个工程的工期;
2023-09-07 17:29:11
247
原创 数据结构--最短路径问题(Dijkstra算法)、拓扑排序
由path数组可以知道,先找path为-1,对应的序是号2,然后找到path为2。path2对应的序号是6,然后找path为6,path6对应的序号是7,然后找到path7,path7对应的序号是8,然后就找到了。
2023-09-07 16:56:24
84
原创 数据结构-最小生成树、prim算法、kruskal算法
如果一个连通图本身就是一棵树,则其最小生成树就是它本身。只有连通图才有生成树,非连通图只有生成森林。
2023-09-07 15:45:12
55
原创 数据结构--图的遍历(广度优先遍历、深度优先遍历)
然后依次访问W1、W2、....Wi的所有未访问过的邻接顶点,再从这些访问过的顶点出发,访问他们所有未被访问过的邻接顶点,直至图中的所有顶点都被访问过为止。而对于有向图则不是这样,因为一个连通的有向图,分为强连通的和非强连通的,它的连通子图也分为强连通分量和非强连通分量,非强连通分量一次调用BFS(G,i)或DFS(G,i)无法访问到该连通分量的所有顶点。图的遍历是指从图中的某一顶点出发,按照某种搜索方法,沿着图中的边对图中的所有顶点访问一次,且仅访问一次。需要注意的是,同一个图的。
2023-08-25 01:24:53
1392
原创 数据结构--图的存储(邻接矩阵、邻接表、十字链表、邻接多重表)
所谓邻接矩阵存储是指用一个一维数组存储图中顶点的信息,用一个二维数组存储图中边的信息及各顶点之间的邻接关系。存储顶点之间的邻接关系的二维数组称为邻接矩阵。对于带权图而言,若顶点Vi和Vj之间有边相连,则邻接矩阵中对应项存放着该边对应的权值。若顶点Vi和Vj不相连,则通常用无穷来表示这两个顶点之间不存在边。
2023-08-24 03:00:40
664
原创 数据结构--回顾算法的基本概念
目录什么是算法 算法的特性(1)有穷性(2)确定性(3)可行性(4)输入(5)输出 好算法的特质(1)正确性(2)可读性(3)健壮性(4)高效率与低存储量需求 本章内容框架
2023-08-20 01:22:32
45
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人