数据结构:算法时间复杂度 数据结构 虚拟内存地址内存条、显卡、各种适配卡都有其各自的存储地址空间。操作系统将这些设备的存储地址空间抽象成一个巨大的一维数组空间。对于内存的每一个字节会分配一个32位或64位的编号,这个编号称为内存地址。 类型定义C程序编译后,会以三种形式使用内存: 静态全局内存静态声明的变量和全局变量使用这部分内存,这些变量在程序开始运行时分配,直到程序终才消失。 自动内存(栈内存)函数内部声明的变量使用 2025-04-01 网络工程 #算法
记一次去医院的思考 记一次去医院的思考周三,一个没课的下午,我前往医院看望W,在医院漫长的等待的过程中,我无时无刻忍受着令人作呕的药水味,还有前台电话不绝的响声和护士长的对话声。来来往往的人大多年纪很大,岁月的风在他们脸上吹过,留下阵阵涟漪,他们带着泛黄的电饭锅,刚买的方便面,老旧的热水瓶,推着自己的挚爱亲朋走向病房。我和W的朋友一路奔走,从2号楼到5号楼,期间经过了4次电梯,在医院宽大的特制电梯时,我们往往和一些坐 2025-03-19 随笔 #随笔 #思考
《战争之王》:必须存在的恶魔 矛盾与荒谬并行的世界 “可能对你来说我是一个恶魔,但不幸的是,我是一个必须存在的恶魔。” ——尤里 尤里的发迹史堪称全球化时代的资本寓言。从基辅餐馆的潦倒移民到掌控全球地下军火贸易的”战争之王”,他的成功轨迹完美契合新自由主义经济法则。几十本护照和假身份帮助他在边境畅通无阻;把武装直升机的武器和本体分开运输,就成了“人道主义”救援直升机;面对到来的国际 2025-02-03 随笔 #电影 #世界
2024这一年 写在前面我的2024,被高考泾渭分明地划分为了两半。 1-6月我有个特点,一些令我感到痛苦的经历不会在我的记忆中存在太久。 1月到6月,我已经记得不大清的,我直接的那段时间太阳很大,血红的标语贴的到处都是,我们披坚执锐,在数不清的模拟中挣扎,在无数次西西弗斯一般的努力中等待时间流逝,在那段时间,有因为一句无聊的笑话引发的快乐,有模拟考试名次渐进的喜悦,有深夜备战的痛苦,我只记得那时,全家人的期望都 2024-12-29 随笔 #自我 #2024
扫雷开发笔记 扫雷开发笔记思维导图 流程图 难度设置简单:9*9 10雷 中级: 16*16 40雷 困难 : 20*20 70雷 完整代码见Github仓库,如果喜欢可以点个Star。 写在前面我们使用了二位数组来实现扫雷,因Easyx库使用了C++的库且C++已适配绝大部分C语言的语法,所以我们提交的是.cpp文件,并封装了exe文件,可以直接双击运行。 开发环境使用IDE:VS 2022 项目属性:使用 2024-12-12 网络工程 #编程 #开发 #项目
希尔排序:基于插入算法的改进版本 希尔排序:基于插入算法的改进版本平均时间复杂度:O(n log n) 最好时间复杂度:O(n log^2 n) 最坏时间复杂度:O(n log n) 稳定性:不稳定 特点:1.处理基本有序的效率较高 2.数据量比较小时效率较高 希尔排序,又名缩小增量排序,是基于插入排序的一种改进算法,解决了插入排序一次只能移动一个元素造成的低效问题。 原理1.设定一个增量整型gap = len / 2,向下取整, 2024-12-08 网络工程 #编程 #网络工程 #算法
插入排序 插入排序平均时间复杂度:O($n^2$) 最好时间复杂度:O(n) 最坏时间复杂度:O($n^2$) 稳定性:稳定 将第一个元素设置为有序区,将后面的每个数插入到前面的有序区之内,形同打扑克牌时摸牌插入到手中牌堆内。 123456789101112void insertion_sort(int arr[], int len){ //两个重要参数 int i,j,key; 2024-12-07 网络工程 #编程 #网络工程
四大常用字符处理函数的实现 四大常用字符处理函数的实现写在前面对于指针变量s,*s代表其指向的变量(声明变量时不代表),可能是整型变量a,也可能是字符变量c。s代表他本身,他是一个地址,比如,32ffcs。理解这一点,不然剩下的很难看懂。 函数中,需要把实际参数的地址赋给形参的指针变量,并根据“函数中的指针能够修改实际变量”的特点来实现函数功能,例子详见strcat函数。 strlen函数:获取字符串长度1234567891 2024-12-07 网络工程 #编程 #网络工程
PTA补题(一) PTA补题(一)1.以下定义了一个一维数组str,该数组可以存放81个字符型数据。 T,’\0’也算一个字符 1char str[81]; 2.数组定义后,数组名表示该数组所分配连续内存空间中第一个单元的地址,即首地址。 T 3.数组定义后,只能引用单个的数组元素,而不能一次引用整个数组。 T 数组名只代表首个元素,更多时候是通过遍历来实现对数组的引用。 4.在以下描述中 2024-12-01 网络工程 #编程
汉诺塔一文速通 汉诺塔一文速通问题背景 有三根柱子,通常标记为 A(起始杆)、B(中转杆)、C(目标杆)。 开始时,所有的圆盘都按照从大到小的顺序堆叠在一根柱子(假设为 A 柱)上。 目标是将所有圆盘从起始柱子(A 柱)移动到目标柱子(比如 C 柱)。 移动过程中有两个重要的规则:每次只能移动一个圆盘;在移动过程中,大圆盘不能放在小圆盘上面。 本质分析 实际上,以三个汉诺塔为例,我们需要把最上面两个盘借助 2024-12-01 网络工程 #编程 #递归