上一页 1 ··· 9 10 11 12 13
摘要: 哈希表的考察点有:哈希表的构造、冲突处理和查找性能分析 核心目标:通过散列函数,把关键字映射到固定的存储位置(散列地址),实现“键->地址”的直接映射,这是哈希表最核心的设计思想; 冲突处理:当不同关键字映射到同一地址时(比如26和重复的26都映射到7),用线性探测法解决冲突,这是哈希表处理冲突的经 阅读全文
posted @ 2026-03-17 19:31 ZealousMclaren 阅读(18) 评论(0) 推荐(0)
摘要: printf是C语言的格式化输出函数,整体遵循printf("格式控制字符串",输出项1,输出项2...)的结构,我们拆成两部分讲: 1.格式控制字符串:“边(%d,%d)权值:%d\n” 这部分是双引号包裹的字符串,包含固定文本和格式占位符,决定输出的样式: 边 (:固定文本,直接输出 “边 (” 阅读全文
posted @ 2026-03-17 16:36 ZealousMclaren 阅读(17) 评论(0) 推荐(0)
摘要: 假设无向图中有n个顶点,那我们总共需循环n-1次,找到n-1条变加入到最小生成树当中 开始任意选择一个结点加入到最小生成树中,并将非生成树中的所有顶点与生成树中的顶点的距离设置为Max最大值(因为此时这些结点还没有加入到最小生成树中,因此两树之间的距离是无穷大的) 接下来就是Prim算法的核心步骤: 阅读全文
posted @ 2026-03-16 21:42 ZealousMclaren 阅读(20) 评论(0) 推荐(0)
摘要: 以计数排序中的这段代码来解释东泰内存分配 int* CountArr = new int[maxx + 1]; new是C++的动态内存分配关键字,作用是: 1.在堆内存中开辟一块连续的空间; 2.空间大小是maxx + 1个int类型的元素(比如 maxx=9 时,就是 10 个 int); 3. 阅读全文
posted @ 2026-03-15 11:22 ZealousMclaren 阅读(12) 评论(0) 推荐(0)
摘要: 在计数排序中我们用到了迭代器找取源数据的最大值 int maxx = max_element(vec.begin(), vec.end()); max_element(vec.begin(), vec.end()) 这个函数的作用是找到容器中最大值的位置,但它返回的不是最大值本身,而是一个迭代器,你 阅读全文
posted @ 2026-03-15 11:05 ZealousMclaren 阅读(26) 评论(0) 推荐(0)
摘要: 判断稳定性的关键是: 两个一样大的数是否会在排序的过程中改变原来的相对位置 如果改变了,则该排序算法是不稳定的 阅读全文
posted @ 2026-03-12 20:37 ZealousMclaren 阅读(21) 评论(0) 推荐(0)
摘要: 空间复杂度衡量的是算法执行过程中,除了输入数据本身外,额外占用的内存空间大小。 以下是关于冒泡排序的空间复杂度是O(1)的详细解释: 1、从数量和大小上看,变量的数量和个数固定 输入数据:vector&vec是引用传递,没有复制原数组,不算额外空间 局部变量: int j:外层循环计数器,固定4字节 阅读全文
posted @ 2026-03-12 11:22 ZealousMclaren 阅读(19) 评论(0) 推荐(0)
摘要: 头文件的核心作用 1、声明接口,隐藏实现 可以把头文件理解为产品说明书,说明书上只写明这个产品能s做什么,但不会写产品内部是怎么实现的,即具体功能实现的代码,对应的.cpp文件是产品本身,包含具体的实现代码 2、统一管理公共内容,避免重复代码 当多个文件需要用到同一个变量、结构体、函数声明,把这些内 阅读全文
posted @ 2026-03-11 18:14 ZealousMclaren 阅读(41) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13