- 博客(94)
- 收藏
- 关注
原创 【机组】计算机的性能指标 解析+公式(机器字长、主存容、吞吐量、响应时间、CPU时钟周期、CPI、CPU执行时间、IPC、MIPS、MFLOPS
CPI(Cycles Per Instruction):执行一条指令所需的时钟周期数量。对于同类型的计算机,同一指令执行所需的CPU时钟周期的数量是一样的,注:MFLOPS不能全面反映计算机性能,只能反映浮点运算速度。计算机执行一条指令的过程:取指 ==》分析 ==》执行。因此可提高程序的执行速度,进而提高计算机系统的性能。,也就是构成二进制数据的比特(bit/b)数量。1.字长越长,数的表示范围越大、精度越高。由于访问内存的速度远大于访问外存的速度,IPC:每个时钟周期能够执行的指令数量。
2024-12-19 12:25:10
1267
原创 数据结构 完整解析+超全代码 free
完整代码 单链表不带头结点。完整代码 顺序表静态存储。完整代码 顺序表动态存储。按位序插入(不带头结点)完整代码 单链表带头结点。按位序插入(带头结点)树、森林、二叉树的转换。三对角矩阵的压缩存储。由遍历序列构造二叉树。有向无环图描述表达式。完整代码 二叉排序树。完整代码 平衡二叉树。归并、基数、计数排序。
2024-12-18 20:24:42
830
原创 【机组】概述精炼考点(冯诺依曼、层次结构、翻译语言、执行程序的过程、基本工作原理、运算器、控制器、存储器)
对于一些特定的计算或控制任务,可选择将其使用软件编程来实现,也可选择设计专用硬件电路来实现,两者结果在功能上等效。2.分析过程:对指令分析,指出指令要完成的操作,并按寻址特征指明操作数的地址。以运算器为中心:每次输入输出都要运算器的参与,会浪费很多可以用于运算的时间。:存放从存储体的某个存储单元取出的信息或准备往某个存储单元存入的信息。以存储器为中心:输入输出可直接与存储器交换数据,以提高整体效率。1.用于解释存储器中的指令,并发出各种操作命令来执行指令。将人们熟悉的信息形式转换为计算机能识别的信息形式。
2024-12-18 18:48:59
642
原创 【数据结构】排序算法大全(快速、堆、归并、插入、折半、希尔、冒泡、计数、基数)各算法比较、解析+完整代码
5.当low==high时完成遍历,将基准元素放入low指针所指的地方,此时基准元素已经排序完成;若左右孩子一样大,优先和左孩子换,建堆时是稳定的,但是在排序时,堆顶和堆底互换,不稳定。对于小根堆,新元素放到表尾(堆底),与父节点对比,若新元素比父节点更加小,则互换。2.随机选取一个元素。2.遍历序列,将比基准元素小的放在基准元素的左边,比基准元素大的放在右边;对于大根堆,新元素放到表尾,与父节点对比,若新元素比父节点更加大,则互换。3.对比i,j所指元素,更小的先加入长序列,并且更小的元素所在指针加一;
2024-05-27 09:00:00
716
原创 【操作系统】发展与分类(手工操作、批处理、分时操作、实时操作)
以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。计算机接收外部信息后及时处理,并要在严格时限内处理完事件,体现及时性和可靠性。引入脱机输入/输出技术,并由监督程序负责控制作业的输入输出。多道程序并发执行,共享计算机资源,利用率大幅提升。2.CPU等待手工操作,CPU利用不充分。硬实时操作系统——必须在严格时间内完成。缺点:用户响应时间长,没人机交换功能。软实时系统——能偶尔违反时间规定。手工操作阶段(此阶段无操作系统)批处理阶段(操作系统开始出现)优点:能优先响应紧急任务。
2024-05-26 18:35:02
519
原创 【操作系统】基本概念 解析+思维导图(特征、概念、功能)并发 共享 虚拟 异步
多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知速度前进。 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理组织调度计算机的工作和资源分配。 给多道程序的运行提供良好环境,方便用户使用及提高内存的利用率。1.资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则不存在资源共享问题;即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。 因而,对处理机的管理可归纳为对进程的管理。
2024-05-26 15:49:49
1173
原创 【数据结构】散列表(拉链法 开发地址法 处理冲突)解析+完整代码
注:删除元素不能简单的将被删元素的空间置为空,否则将截断在它之后的探测路径,可做个已删除的标记,进行逻辑删除。在散列表中插入一个数据元素时,需要根据关键字的值确定其存储地址,若该地址已经存储其他元素,则这种情况为冲突。这种方法得到的散列地址与关键字的每位都有关,因此散列地址分布比较均匀。不同关键字通过散列函数映射到同一个地址,则这两个关键字是在该散列函数下的同义词。2.顺序查找散列表对应的链表,若查找成功,将目标元素从链表里删除。1.根据散列函数算出散列地址,对比关键字是否匹配,匹配则查找成功;
2024-05-20 12:57:27
1078
原创 【数据结构】B树和B+树(定义 查找 删除 插入)解析+完整代码
5叉查找树查找方式:顺序查找每个灰框里的元素,找不到则去孩子那里找。如何保证查找效率?若每个结点内关键字太少,导致树变高,要查更多层结点,效率低。解决策略:1.m叉树中,规定除了根节点外,任何结点至少有⌈m2⌉⌈m/2⌉,即至少含有⌈m2⌉−1⌈m/2⌉−1个关键词。2.m叉查找树中,规定对于任何结点,其所有子树的高度都要相同。B树定义B树,又称多路平衡查找树,B树中被允许的孩子个数的最大值称为B树的阶,通常用m表示。
2024-05-20 11:50:49
1177
原创 【数据结构】红黑树(定义性质、插入、查找、删除)解析+完整代码
为什么发明红黑树?平衡二叉树和红黑树的时间复杂度相同,但是平衡二叉树的平衡特性容易被破坏,需要频繁调整树的形态。红黑树RBT:插入/删除很多时候不会破坏红黑特性,无需频繁调整树的形态,即需要调整,也可在常数级时间内完成。平衡二叉树:适用于以查为主,少插入删除的场景;红黑树,适用于频繁插入、删除的场景,实用性更强。定义红黑树是二叉排序树 ==》左子树结点
2024-05-14 19:23:11
919
原创 【数据结构】平衡二叉树(插入、查找、删除)解析+完整代码
平衡二叉树,简称平衡树(AVL树)树上任一结点的左右子树高度差不超过1。结点的平衡因子=左子树高-右子树高。
2024-05-14 14:15:01
3035
5
原创 【数据结构】二叉排序树(查找+插入+删除+效率分析)完整代码+解析
二叉排序树的定义又称二叉查找树(BST,Binary Search Tree)左子树结点值
2024-05-13 11:13:07
2971
原创 【数据结构】折半查找/二分查找 查找判定树+效率分析+完整代码
如果当前low和high之间有偶数个元素,则mid分割后,左半部分比右半部分少一个元素。如果当前low和high之间有奇数个元素,则mid分割后,左右两部分元素个数相等。3.若mid所指元素大,则去前半段查找,即high=mid-1;若mid所指元素小,则去后半段查找,即low=mid+1;2.取中间位置mid=(low+high)/2;1.设置low和high指针,分别在序列首尾;折半查找的判定树中,只有最下面一层是不满的。折半查找的判定树一定是平衡二叉树。折半查找,又称二分查找,仅用于。
2024-05-13 09:59:24
1454
原创 【数据结构】图的应用---最小生成树(Prim,Kruskal)、最短路径(BFS,Dijkstra,Floyd)、拓扑排序、关键路径、有向无环图表达式
最小生成树(Prim,Kruskal)、最短路径(BFS,Dijkstra,Floyd)、拓扑排序、关键路径、有向无环图表达式
2024-05-12 10:31:38
1140
1
原创 【数据结构】最小生成树(Prim算法、Kruskal算法)解析+完整代码
设R为G的所有生成树的集合,若T为R中边的权值之和最小的生成树,则T称为G的最小生成树(MST)。每次选则一条权值最小的边,使这条边的两头连通(原本已经连通的不选),直到所有结点都连通。,生成树不同,每棵树的权(即树中所有边上的权值之和)也可能不同。1.最小生成树可能有多个,但边的权值之和总是唯一且最小的;每次将代价最小的新顶点纳入生成树,直到所有顶点都纳入为止。数组,找到最小值,将其加入树中,并继续遍历与其相连的边。数组,初始为false,判断结点是否加入树。最低的,且还没加入树的顶点。
2024-04-28 22:01:09
1110
1
原创 【数据结构】图 解析+完整代码(概念、存储、基本操作、遍历)广度优先遍历、深度优先遍历、邻接矩阵、邻接表、十字链表、邻接多重表
图的定义有向图无向图简单图、多重图顶点的度、入度、出度顶点-顶点的关系描述连通图、强连通图子图、生成子图连通分量强连通分量生成树生成森林边的权、带权图特殊形态的图重点小结不带权值的邻接矩阵法求度存储带权图的邻接矩阵法邻接矩阵法的性能分析邻接矩阵的性质定义——顺序+链式存储性能分析注:邻接矩阵表示法是唯一的,但图的邻接表表示法不唯一(∵孩子的链接顺序不唯一)邻接表和邻接矩阵的对比只存储有向图空间复杂度:O(∣V∣+∣E∣)O(|V|+|E|)O(∣V∣+∣E∣)如何找到指定顶点的所有出边?——顺着绿色路线如何
2024-04-28 14:40:52
1561
原创 【数据结构】并查集 Find和Union的优化 解析+完整代码
(2)Union(S,Root1,Root2):把集合S中的子集合Root2并入子集合Root1,要求Root1和Root2互不相交,否则不支持合并。(3)Find(S,x):查找集合S中单元素x所在的子集合,并返回该子集合的根节点。(1)Initial(S):将集合S中的每个元素都初始化为只有一个单元素的子集合;压缩路径——Find操作,先找到根结点,再将查找路径上所有结点都挂到根结点下。每次Find操作,先找根,再压缩路径,可使树的高度不超过。∵树越深,越难查找,∴要尽量减小树的深度,
2024-04-26 13:58:23
1794
3
原创 【数据结构】哈夫曼树 哈夫曼编码 解析+完整代码
(2)构造一个新结点,从F中选取两棵根结点权值最小的树作为新结点的左右子树,并且将新结点的权值置为左右子树上根结点的权值之和;1.每个初始结点最终都会成为叶结点,且权值越小的结点到根结点的路径长度越大;(1)将这n个结点分别作为n棵仅含一个结点的二叉树,构成森林F;从树的根到该结点的路径长度(经过的边数)与该结点上权值的乘积。(3)从F中删除刚才选出的两棵树,同时将新得到的树加入F中。有某种现实含义的数值(如:表示结点的重要性等)树中所有叶结点的带权路径长度之和。3.哈夫曼树中不存在度为1的结点;
2024-04-26 09:59:01
1735
原创 【数据结构】树和森林(树和森林的存储结构、树森林二叉树的转换、树和森林的遍历
基于孩子兄弟表示法:如果当前处理的结点在树中有孩子,就把所有孩子结点“用右指针串成糖葫芦”,并在二叉树中把第一个孩子挂在当前结点的左指针下方。如何恢复一个结点的孩子:在二叉树中,如果当前处理的结点有左孩子,就把左孩子和“一整串右指针糖葫芦”拆下来,按顺序挂在当前结点下方。如何恢复一个结点的孩子:在二叉树中,如果当前处理的孩子有左孩子,就把左孩子和“一整串右指针糖葫芦”拆下来,按顺序挂在当前结点下方。2.从树的根结点开始,按树的层序恢复每个结点的孩子。∴适用于找孩子多,找父亲少的场景,如:服务流程树。
2024-04-24 09:49:17
1082
原创 【数据结构】线索二叉树(中序、先序、后序线索二叉树)
∴ 可以利用空指针来存储该结点的前驱后继。因此 二叉树线索化实质是要遍历一次二叉树。目的:为了快速查找结点的前驱和后继。将二叉链表中的空指针改为前后继指针。在结点结构中多加两个int型标志位。而前后继需要遍历二叉树后才能得到。,即空指针数量等于结点总数。指针分别指向左右孩子;指针分别指向前后驱。
2024-04-20 16:34:54
1158
原创 【数据结构】二叉树(定义、性质、存储、遍历、构造)解析+完整代码
定义1.每个结点至多有两棵子树;2.左右子树不能颠倒(二叉树是有序树)。特殊二叉树1.满二叉树一棵高度为h,且含有2h−12^h-12h−1个结点的二叉树。特点:(1)只有最后一层有叶子结点;(2)不存在度为1的结点;(3)按层序从1开始编号,结点i的左孩子为2i2i2i,右孩子为2i12i+12i1;结点i的父节点为⌊i2⌋⌊i/2⌋。2.完全二叉树。
2024-04-20 13:58:18
2794
1
原创 【数据结构】串的模式匹配(KMP+朴素模式匹配)
2.对其他的next:在不匹配的位置前,划一条分界线,模式串一步步往后退,直到分界线前能对上,或模式串完全跨过分界线为止。从模式串本身的结构着手,若已匹配相等的前缀序列中有某个后缀正好是模式串的前缀,则可将模式串向后滑动到与这些相等字符对齐的位置。3.若 i 和 j 所指字符不相同,j 回到模式串第一个字符,i 指向下一个子串起始位置; 当模式串中第a个元素匹配失败时,令主串指针i不变,模式串指针j=b。当模式串的第j个字符失配时,从模式串的第next[j]个继续往后匹配。
2024-03-15 12:19:28
1620
原创 【数据结构】串 解析+完整代码(求子串、比大小、定位操作)
定义串,即字符串,是由零个或多个字符组成的有限序列。串是一种特殊的线性表,数据元素间呈线性关系。空串:串长度为0时;子串:串中任意个连续的字符组成的子序列;主串:包含子串的串;字符在主串中的位置:字符在串中的符号;子串在主串中的位置:子串的第一个字符在主串中的位置。静态数组实现(定长顺序存储)//用数组存储字符int length;//串的长度}SString;动态数组实现(堆分配存储)用完需要手动freechar*ch;//按串长分配存储区,ch指向串的基地址。
2024-03-15 11:22:36
994
原创 【数据结构】矩阵的压缩存储
是第i行前1~i-1行的所有元素数量;非常量区域和对称矩阵存储方法一毛一样。如何将数组下标k转换为矩阵下标i,j?如何把矩阵下标转化为一维数组下标?元素在第i行的前的元素数量。上三角区域或者下三角区域为一常量。只存储上或下三角区和主对角线。行优先:优先存放一行的数据。列优先:优先存放一列的数据。只要存储值不为0的元素就好。非零元素远少于矩阵元素个数。 会失去随机存储的特性。2.链式存储——十字链表法。若n阶方阵中任意一个元素。在数组最后存储常量的值。
2024-03-07 15:05:42
1530
原创 【数据结构】栈和队列的应用——括号匹配 + 表达式求值 + 表达式转换 +栈的递归应用+队列在计算机系统中的应用
括号匹配问题 — 表达式求值 — 表达式转换 — 栈的递归应用 — 队列在计算机系统中的应用 代码+解析
2024-03-07 11:50:13
1194
原创 【数据结构】队列 循环队列 双端队列——顺序队列+链式队列完整代码(创建、入队、出队)
顺序队列+链式队列完整代码(创建、入队、出队)——定义只允许在一端进行插入,另一端删除的线性表。特征:先进先出(First In First Out->FIFO)重要术语:队头、队尾、空队列。
2024-03-06 14:05:00
553
原创 【数据结构】栈 顺序栈 链栈(共享栈 创建 进栈 出栈 读取)完整代码+解析
定义stack,只允许在一端进行插入和删除的线性表。特点:后进先出卡特兰数当n个不同元素进栈时,出栈元素不同排序的个数为。
2024-03-06 08:58:48
1292
原创 【数据结构】顺序表和链表的对比,在各种情况下如何选择
顺序表:修改Length=0,静态分配系统自动回收空间,动态分配需要手动free。表长难估计,经常增、删元素 ——链表。顺序表:需要将元素前移/后移,时间复杂度。,开销主要来自查找目标元素。表长可估计,查询操作多 ——顺序表。如何选择用链表or顺序表?链表:依次free结点。顺序表:容易浪费内存。,开销来自移动元素。
2024-03-01 10:10:49
983
原创 【数据结构】双链表解析+完整代码(创建、插入、删除)
定义单链表的缺点:无法逆向操作,插入删除时只能从头开始遍历,很不方便。双链表:每个结点都定义两个指针prior和next,分别指向前驱和后继,可进可退。//前驱指针和后继指针初始化双链表//分配头结点//头结点的前驱指针永远指向NULL//头结点还暂时没有后继判空(带头结点)else。
2024-02-29 14:41:00
532
原创 【数据结构】单链表解析+完整代码(插入、删除、尾插法、头插法、按值和按位查找、前插和后插)带头结点和不带两种实现
单链表定义;头插法、尾插法创建单链表;按位插入、后插、前插;按位删除、删除指定结点;按位查找、按值查找;单链表的销毁。附单链表带头结点和不带头结点的两种完整代码。
2024-02-29 10:45:59
4246
1
原创 【数据结构】线性表 顺序表(动态、静态分配,插入删除查找基本操作)解析+完整代码
顺序表定义用顺序存储方式实现线性表的储存。是用一组地址连续的存储单元依次存储线性表中的数据元素。特点:1.表中元素的逻辑顺序与物理顺序相同。2.可以随机存取——知道顺序表起始位置LOC(A)和每个元素所占内存的大小后,可知道任意一个元素的位置。优点1.可随机访问,O(1)时间内找到指定元素;2.存储密度高,每个结点只存储数据元素。缺点1.元素的插入和删除要移动大量数据元素。2.需要连续存储空间,不够灵活。
2024-02-26 15:51:07
1163
原创 【数据结构】时间复杂度(加法乘法规则、渐近时间复杂度、循环时间复杂度总结
在实际求解中,只留表达式中最高阶的部分,丢弃其他部分。2.只需挑一个基本操作分析它的执行次数与n的关系即可。最坏时间复杂度、平均时间复杂度、最好时间复杂度。1.顺序执行的代码只会影响常数项,可忽略。3.如果有多层嵌套循环,只需关注。1.找到一个最深层的基本操作;
2024-02-25 17:29:38
2586
1
原创 【数据结构】队列——顺序实现+链式实现(带头结点+不带头结点)入队 出队 初始化 判空 双端队列 完整代码
队列——顺序实现+链式实现(带头结点+不带头结点)入队 出队 初始化 判空 双端队列 完整代码
2023-06-30 10:45:25
1929
1
原创 【Qt】实验 多窗口 模态非模态 信号槽 对话框 文档菜单 鼠标操作 按键操作 绘图 定时器 各部件(pushbutton,LineEdit SpinBox,滑动条,CheckBox,ComBox)
Lab51.窗口与子部件2.模态和非模态对话框3.Qt一般框架4.信号槽机制5.标准对话框Lab61.布局设计2.数据界面互动3.多窗口切换Lab71.PushButton按钮组件2.LineEdit单行输入组件3.简易登录界面4.SpinBox组件5.HorizontalSlider 滑块条组件6.数码表与LCD屏幕7.CheckBox 多选框8.ComBox 下拉框组件9.ProgressBar 进度条与定时器10.DateTime 日期与时间组件11.PlainTextEdit 多行文本框12.Rad
2023-06-21 11:17:14
954
原创 【数据库课设】图书馆资源管理系统 源码+流程图+结构设计(借还图书 逾期罚款 图书管理 读者管理 信息查询)python实现
录入修改删除图书,查询图书,借还图书,逾期罚款,图书管理,读者管理,信息查询,管理员和读者注册登录
2023-06-21 11:03:18
5316
1
数据库图书馆资源管理系统 源码+流程图+结构设计(借还图书 逾期罚款 图书管理 读者管理 信息查询)python实现
2024-06-05
C语言课件,代码合集!
2024-05-26
1-火焰-480P 清晰-AVC.mp4
2024-05-26
1-素材6.4 火焰-火焰,扑面而来-480P 清晰-AVC.mp4
2024-05-26
剪辑必备AE红色粒子Banner背景-480P 清晰-AVC.mp4
2024-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人