自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 C++ 数据库MySQL 学习笔记(2) - 数据库操作

COUNT(*):该种方式可以实现对表中记录进行统计,不管表字段中包含的是NULL值还是非NULL值。COUNT(field):该种方式可以实现对指定字段的记录进行统计,在具体统计时将忽略NULL值。

2024-06-22 19:43:48 602

原创 C++ 数据库MySQL 学习笔记(1) - 数据库操作

整数类型是数据库中最基本的数据类型。标准SQL中支持INTEGER和SMALLINT这两种数据类型。MySQL数据库除了支持这两种类型以外,还扩展支持了TINYINT、MEDIUMINT和BIGINT。下表从不同整数类型的字节数、取值范围等方面进行对比。#选择数据库school#创建表class5整数类型名称后面的小括号指定显示宽度(并不是该类型占用字节数)。如果不显示指定宽度则默认为tinyint(3)、 smallint(5)、 mediumint(8)、 int(11) 和 bigint(20)

2024-06-07 23:13:59 541

原创 C++ 数据结构算法 学习笔记(33) -查找算法及企业级应用

日常生活中,我们经常会在电话号码簿中查阅“某人”的电话号码,按姓查询或者按字母排 序查询;在字典中查阅“某个词”的读音和含义等等。在这里,“电话号码簿”和“字典”都可 看作一张查找表,而按“姓”或者“字母”查询则是按索引查询!索引把线性表分成若干块,每一块中的元素存储顺序是任意的,但是块与块间必须按关键字 大小按顺序排列。即前一块中的最大关键字值小于后一块中的最小关键字值。分块以后,为了快速定义块,还需要建立一个索引表,索引表中的一项对应于线性表中的一 块,索引项由键域和链域组成。

2024-05-27 22:31:40 899

原创 C++ 数据结构算法 学习笔记(32) -五大排序算法

如下若有多个女生的身高需要做排序:常规思维:代码实现:冒泡算法当我们采用前面的选择排序时,我们仍然要将候选者遍历5遍,才能完成最终的排序,但其 实,本身这些美女出了第一个外,已经很有序了,我们只需要把第一个和第二个交换,然后又和 第三个交换,如此循环,直到和最后一个交换后,整个数组基本就有序了!当然,并不是每次都这么幸运,像下面的情况就会更复杂一些,一趟并不能完全解决问题, 我们需要多趟才能解决问题.经过上述五步后,得到的结果:此时,我们只保障了最后一个数是最大的,并不能保障前面的数一定会有序,所以,我

2024-05-25 17:03:32 813

原创 C++ 数据结构算法 学习笔记(31) -五大常规算法 - 分支定界法

假 如要查找一个具有最小耗费的解,那么要选择的下一个扩展结点就是活结点表中具有最小 耗费的活结点;假如要查找一个具有最大收益的解,那么要选择的下一个扩展结点就是活 结点表中具有最大收益的活结点. (但与回溯算 法不同,分支定界算法采用广度优先或最小耗费优先的方法搜索解空间树,并且,在分支定界算 法中,每一个活结点只有一次机会成为扩展结点。FIFO(First In First Out)分支定界算法:按照先进先出原则选择下一个活结点作为扩展结 点,即从活结点表中取出结点的顺序与加入结点的顺序相同。

2024-05-19 23:48:37 231

原创 C++ 数据结构算法 学习笔记(30) -五大常规算法 - 贪心算法

贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有 利)的选择,从而希望能够导致结果是最好或者最优的算法。请看下面案例,假设有如下课程,希望尽可能多的将课程安排在一间教室里:这个问题看似要思考很多,实际上算法很简单:1.选择结束最早的课,便是要在这教室上课的第一节课2.接下来,选择第一堂课结束后才开始的课,并且结束最早的课,这将是第二节在教室上的课。

2024-05-19 23:47:08 201

原创 C++ 数据结构算法 学习笔记(29) -五大常规算法 - 回溯算法

在问题的解空间中,按深度优先遍历策略,从根节点出发搜索解空间树。算法搜索至解空间 的任意一个节点时,先判断该节点是否包含问题的解。如果确定不包含,跳过对以该节点为根的 子树的搜索,逐层向其祖先节点回溯,否则进入该子树,继续深度优先搜索。回溯法解问题的所有解时,必须回溯到根节点,且根节点的所有子树都被搜索后才结束。回 溯法解问题的一个解时,只要搜索到问题的一个解就可结束。

2024-05-19 17:40:08 443

原创 C++ 数据结构算法 学习笔记(28) -五大常规算法 - 动态规划算法

人工智能时代,各国都在大力研究机器人技术,也制造出各种各样的机器人,比如:为了解决男女失衡而制造 的美女机器人,假如你参与了某美女机器人的研发,你在这个项目中要求实现一个统计算法:如果美女机器人一次可以上1级台阶,也可以一次上2级台阶。求美女机器人走一个n级台阶总共有多少种走法。比如总共有5级台阶,求有多少种走法;由于机器人一次可以走两级台阶,也可以走一级台阶,所以我们可以分成两个情况我们将求n级台阶的共有多少种走法用f(n)来表示,则由上可得f(5)=f(4)+f(3);

2024-05-19 17:39:00 851

原创 C++ 数据结构算法 学习笔记(27) -五大常规算法 - 分治法

一个装有16枚硬币的袋子,16枚硬币中有一个是伪造的,伪造的硬币和普通硬币从表面上看不出有任何差别,但是那 个伪造的硬币比真的硬币要轻。现有给你一台天平,请你在尽可能最短的时间内找出那枚伪造的硬币。每次从待比较的硬币中取两枚进行计较,如果天平平衡(相等)就继续取剩下的硬币进行比较继续以上过程,直到找到硬币。我们先将16枚硬币分为左右两个部分,各为8个硬币,分别称重,必然会有一半轻一半重,而我们要的就是轻的那组,重 的舍去。

2024-05-17 22:44:55 226

原创 C++ 数据结构算法 学习笔记(26) - 图及其企业级应用(续)

随着3D游戏的日趋流行,在复杂的3D游戏环境中如何能使非玩家控制角色准确实现自动寻路功能成为了3D游戏开 发技术中一大研究热点。其中A算法得到了大量的运用,A算法较之传统的路径规划算法,实时性更高、灵活性更强,寻路 结果更加接近人工选择的路径结果. A*寻路算法并不是找到最优路径,只是找到相对近的路径,因为找最优要把所有可行 路径都找出来进行对比,消耗性能太大,寻路效果只要相对近路径就行了。

2024-05-17 22:10:01 458

原创 C++ 数据结构算法 学习笔记(25) - 图及其企业级应用

Jack 自从买车后,交通出行方便了,心自然就野了!身边的各种朋友自然就多了起来!有一天晚上,一个年轻漂亮的女同事生日,Jack 受邀请准时爽约!Jack 亲睐此女已久,只是 介于家里的 LD 不敢越雷池一步,但是,一有机会,Jack 都会和此女接近,经常在一起,所以可 以说是就当个哥们吧!Jack 当晚开心的和女同事喝酒、聊天,忘记了家的存在,不知不觉时间一下子指向了 10 点!此时,正沉浸在幻想中的 Jack 被老婆电话惊醒!不用接都知道,老婆的“圣旨”又来了!

2024-05-12 21:07:47 570

原创 C++ 数据结构算法 学习笔记(24) - 哈希表 的企业级应用案例

根据淘宝 2016 年的数据分析,淘宝卖家已经达到 900 多万,有上十亿的商品。每一个商品有包括 大量的图片和文字(平均:15k),粗略估计下,数据所占的存储空间在 1PB 以上,如果使用单块容 量为 1T 容量的磁盘来保存数据,那么也需要 1024 x 1024 块磁盘来保存.思考?这么大的数据量,应该怎么保存呢?就保存在普通的单个文件中或单台服务器中吗?显然 是不可行的。

2024-05-12 20:44:10 705

原创 C++ 数据结构算法 学习笔记(23) - 哈希表

16;int key;}LinkNode;

2024-05-06 00:01:13 328 1

原创 C++ 数据结构算法 学习笔记(22) - 红黑树

定义 - 是每个节点都带有颜色属性(颜色为红色或黑色)的自平衡二叉查找树,满足下列性质:下面的二叉树可以达到很好的搜索效果我们再看看下面这棵树,我们将下面的数据按从左至右的顺序构造一棵二叉搜索树按照之前我们二叉搜索树构建构建的方式,我们将得到下面这样一棵树如果我们查找值为 3 的节点,9 个节点需要比较的次数同样的数据,如果我们按照以下顺序构造一棵二叉排序树:则查找值为 3 的节点,9 个节点需要比较的次数是3次为什么两者达到了如此之大的差距,原因是第一棵树左右不够平衡,导致出现比较极端的情况。解决方法:

2024-05-04 12:46:14 329

原创 C++ 数据结构算法 学习笔记(21) - 二叉树企业级应用案例

哈夫曼(Huffman)编码算法是基于二叉树构建编码压缩结构的,它是数据压缩中经典的一种算 法。算法根据文本字符出现的频率,重新对字符进行编码。首先请大家阅读下面两段中外小学作文:- 今天天气晴朗,我和小明出去玩!小明贪玩,不小心摔了一跤,小明被摔得哇哇哭了,小明的爸爸闻 声赶来,又把小明痛扁了一阵。小明的小屁屁都被揍扁了,因为小明把妈妈刚买给他的裤子弄破了!- 今天天气晴朗,我和乔伊·亚历山大·比基·卡利斯勒·达夫·埃利奥特·福克斯·伊维鲁莫·马尔 尼·梅尔斯·帕特森·汤普森·华莱士·普雷斯顿出去玩!

2024-05-04 12:39:52 603

原创 C++ 数据结构算法 学习笔记(20) - 二叉树

1024==

2024-05-01 20:27:22 899 2

原创 C++ 数据结构算法 学习笔记(19) - 栈的企业级应用案例(3)

输入一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”、 减法运算符 “-”、乘法运算符“*”和 除 法运算符“/”,且没有括号,不考虑数值的范围(溢出),待求解的表达式以“=”号结束。给定一个只包含加减乘除法运算的算术表达式,请你编程计算表达式的值。

2024-04-28 15:02:25 120

原创 C++ 数据结构算法 学习笔记(18) - 栈的企业级应用案例(2)

找迷宫通路需要使用回溯法,找迷宫通路是对回溯法的一个很好的应用,实现回溯的过程用到数据结构—!:对一个包括有很多个结点,每个结点有若干个搜索分支的问题,把原问题分解为若干个子问题求解的 算法;当搜索到某个结点发现无法再继续搜索下去时,就让搜索过程回溯(回退)到该节点的前一个结点,继续 搜索该节点外的其他尚未搜索的分支;如果发现该结点无法再搜索下去,就让搜索过程回溯到这个结点的前一 结点继续这样的搜索过程;这样的搜索过程一直进行到搜索到问题的解或者搜索完了全部可搜索分支没有解存 在为止。

2024-04-28 15:01:53 215

原创 C++ 数据结构算法 学习笔记(17) - 栈的原理精讲 (1)

128//预先分配空间,这个数值根据实际需要预估确定//栈底指针//栈顶指针}SqStack;

2024-04-28 15:00:19 363

原创 C++ 数据结构算法 学习笔记(16) - 堆排序练习 (终)

请写出一个程序能快速的查找无序集合中前N大的记录。

2024-04-28 14:57:19 112

原创 C++ 数据结构算法 学习笔记(15) - 堆排序

堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特 点快速定位指定索引的元素. (选择排序工作原理 - 第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置, 然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待 排序的数据元素的个数为零。

2024-04-22 23:51:57 196

原创 C++ 数据结构算法 学习笔记(14) - 优先队列

操作系统内核作业调度是优先队列的一个应用实例,它根据优先级的高低而不是先到先服务的方 式来进行调度:如果最小键值元素拥有最高的优先级,那么这种优先队列叫作升序优先队列(即总是先删除最小 的元素),类似的,如果最大键值元素拥有最高的优先级,那么这种优先队列叫作降序优先队列 (即总是先删除最大的元素);由于这两种类型是完全对称的,所以只需要关注其中一种,如升 序优先队列.128。

2024-04-22 23:47:43 282

原创 C++ 数据结构算法 学习笔记(13) - 堆

上述代码包括了对数据的定义128int *arr;int size;}Heap;

2024-04-22 23:40:47 245

原创 C++ 数据结构算法 学习笔记(12) - 队列及企业级应用 (终)

经常访问到的文件会被 nginx 从磁盘缓存到内存,这样可以极大的提高 Nginx 的并发能力,不过因为 内存的限制,当缓存的文件数达到一定程度的时候就会采取淘汰机制,优先淘汰进入时间比较久或是最近 访问很少(LRU)的队列文件具体实现方案: 1. 使用双向循环队列保存缓存的文件节点,这样可以实现多种淘汰策略:比如:如果采用淘汰进入时间比较久的策略,就可以使用队列的特性,先进先出 如果要采用按照 LRU,就遍历链表,找到节点删除。

2024-04-20 00:52:05 328

原创 C++ 数据结构算法 学习笔记(11) - 队列及企业级应用 (续4)

英雄联盟游戏里面防御塔都有一个自动攻击功能,小兵排着队进入防御塔的攻击范围,防御塔先 攻击靠得最近的小兵,这时候大炮车的优先级更高(因为系统判定大炮车对于防御塔的威胁更大), 所以防御塔会优先攻击大炮车。而当大炮车阵亡,剩下的全部都是普通小兵,这时候离得近的优 先级越高,防御塔优先攻击距离更近的小兵。里面, 里面涉及到了2级指针.

2024-04-20 00:49:52 411

原创 C++ 数据结构算法 学习笔记(10) - 队列及企业级应用 (续3)

在队列的顺序存储中,采用出队方式 2, 删除 front 所指的元素,然后加 1 并返回被删元素。这样可以避免元素 移动,但是也带来了一个新的问题“假溢出”。能否利用前面的空间继续存储入队呢?循环队列入队,循环队列出队,SQ.rear 和 SQ.front 指向同一个位置SQ.rear 向后移一位正好是 SQ.front。

2024-04-15 00:08:46 336 1

原创 C++ 数据结构算法 学习笔记(9) - 队列及企业级应用 (续2)

线程池 - 由一个任务队列和一组处理队列的线程组成。一旦工作进程需要处理某个可能“阻塞”的 操作,不用自己操作,将其作为一个任务放到线程池的队列,接着会被某个空闲线程提取处理。

2024-04-14 23:56:11 219 1

原创 C++ 数据结构算法 学习笔记(8) - 队列及企业级应用 (续1)

队列的链式存储结构,其实就是线性表的单链表,只不过它只是尾进头出而已,我们把它简称为链队列。为了 操作上的方便,我们将队头指针指向链队列的头结点,而队尾指针指向终端节点5。

2024-04-14 23:50:34 144 1

原创 C++ 数据结构算法 学习笔记(7) - 队列及企业级应用

当银行业务员(1 位或多位)处理完业务以后,会指示叫号系统呼叫下一位(按排队次序)正在等待的用 户,用户达到窗口以后,银行业务员会将用户的号码从叫号系统中删除。如果你是 Jack ,你该如何设计这个功能?

2024-04-14 23:43:47 253 1

原创 C++数据数据结构算法 学习笔记(6) - 双链表的算法实现

单链表中每个结点除了存储自身数据之后,还存储了下一个结点的地址,因此可以轻松访问 下一个结点,以及后面的后继结点,但是如果想访问前面的结点就不行了,再也回不去了。例如删除结点 p 时,要先找到它的前一个结点 q,然后才能删掉 p 结点,单向链表只能往 后走,不能向前走。如果需要向前走,怎么办呢?可以在单链表的基础上给每个元素附加两个指针域,一个存储前一个元素的地址,一个存储 下一个元素的地址。

2024-04-11 00:02:23 144 1

原创 C++数据结构算法 学习笔记(5) - 循环链表

有 10 个小朋友按编号顺序 1,2,。。。,10 顺时针方向围成一圈。从 1 号开 始顺时针方向 1,2,。。。,9 报数,凡报数 9 者出列(显然,第一个出圈为 编号 9 者)。问题: 最后一个出圈者的编号是多少?第 5 个出圈者的编号是多少?循环链表图示:代码如下

2024-04-10 23:59:12 200 1

原创 C++ 数据结构算法 学习笔记(4)-链表续

这个原因是一旦我们让指针指向第一个节点的时候我们才可以直接修改第一个节点的指针域以便让它指向原本第三的节点.代码的实现逻辑为, 当用户想要删除第二个节点的时候,此时我们需要让一个指针指向第一个节点.另外,如果用户输入要取元素的值大过链表的大小时,程序也会返回。循环将不会执行,这样使得程序会进入下一个。指针指向该元素,然后再直接取指针的值.的值不可能为0, 所以当程序没找到。具体实现为当第一个节点的元素不是。指向下一个节点,直到指到元素为。这个代码的实现逻辑是让一个指针。的节点时会退出循环,然后由于。

2024-04-07 22:57:45 192

原创 C++ 数据结构算法 学习笔记(3)-链表

链表是线性表的链式存储方式,逻辑上相邻的数据在计算机内的存储位置不必须相邻,那么 怎么表示逻辑上的相邻关系呢?可以给每个元素附加一个指针域,指向下一个元素的存储位 置。如图所示:从图中可以看出,每个结点包含两个域:数据域和指针域,指针域存储下一个结点的地址, 因此指针指向的类型也是结点类型。

2024-04-07 17:23:05 461

原创 C++ 数据结构算法 学习笔记(2)-顺序表 企业级应用案例

高性能的 web 服务器 Squid 每秒可处理上万并发的请求,从网络连接到服务器的客 户端与服务器端在交互时会保持一种会话(和电话通话的场景类似)。服务器端为了管 理好所有的客户端连接,给每个连接都编了一个唯一的整数编号,叫做文件句柄,简称 fd为了防止某些恶意连接消耗系统资源,当某个客户端连接超时()时,服务器就需要关闭这些客户端的连接。

2024-04-06 18:17:55 934 1

原创 C++ 数据结构算法 学习笔记(1)-顺序表

我要看小星星!”,小芳轻轻的对程序员男友 Jack 说。“亲爱的,现在是冬天,哪里有小星星耶?” “我不,我就要嘛!” 看着可爱带着小小野蛮的女友,Jack 沉思了一会,说了一句,“好吧!” 默默的回到了电脑前… …一个小时后,做出来如下的效果:![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?

2024-04-06 16:22:01 769 1

原创 多态 (Polymorphism) 学习笔记

多态的本质形式上,使用统一的父亲类指针做一般性处理,但是实际上执行时,这个指针可能指向子类对象。形式上,原本调用父亲类的方法,但是实际上会调用子类的同名方法。虚函数如何定义?在函数的返回类型之前使用Virtual只有在成员函数的声明中添加Virtual, 成员函数的实现中不需要加上。

2024-03-04 15:21:03 384

C++ Polymorphism 笔记 1

欢迎来到我的个人C++学习笔记!这是我在学习C++编程语言过程中的记录和心得分享。我希望这些笔记能够帮助那些刚开始接触C++的新手们理解基本概念、语法规则以及编程技巧。 在这里,您会找到从基础语法到高级特性的各种主题,包括但不限于变量声明、控制结构、函数使用、类与对象、模板编程以及内存管理等。每个主题都附有详细的解释和实例代码,旨在提供一个清晰、易懂的学习路径。 我鼓励所有访问者积极参与,无论是初学者还是有经验的程序员。如果您是C++的新手,希望这些笔记能帮助您快速入门并找到学习的乐趣。对于经验丰富的开发者,您的任何建议和意见都将非常宝贵,欢迎您分享自己的经验和见解,帮助我们共同进步。 请记住,编程是一个持续学习和不断探索的过程。我相信通过大家的共同努力,我们可以构建一个互帮互助的学习社区。让我们一起学习,一起成长!

2024-03-04

空空如也

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

TA关注的人

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