随笔分类 - 数据结构与算法
摘要:算法思想时这样的: 1.每次选取第一个数为基准数; 2.然后使用“乾坤挪移大法”将大于和小于基准的元素分别放置于基准数两边; 3.继续分别对基准数两侧未排序的数据使用分治法进行细分处理,直至整个序列有序。对于下面待排序的数组:  169 前的元素基本不用插入操作就已经有序,元
阅读全文
摘要:自从上次小桂子发现了冒泡排序后,他开始相信自己的聪明才智比伴读小书童居然要高,所以他更加热衷于排序算法研究了,没事的时候,时不时找几个宫女演练一下,这时他又发现了一个新的排序方式,对于一下宫女们的队列: 编码==算法是基于二叉树构建编码压缩结构的,它是数据压缩中经典的一种算法。算法根据文本字符出现的频率,重新对字符进行编码。 首先请大家阅读下面两段中外小学作文: 中国- 今天天气晴朗,我和小明出去玩!小明贪玩,不小心摔了一跤,小明被摔得哇哇哭了,小明的爸爸闻声赶来,又把小
阅读全文
摘要:# 1.知识框图  版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和
阅读全文
摘要:# 1.链表结构 ```C++ typedef struct _LinkNode { int data; //结点的数据域 struct _LinkNode* next; //结点的指针域 }LinkNode, LinkList; //LinkList 为指向结构体LNode 的指针类型 ``` #
阅读全文
摘要:# 1.队列基本概念 队列是一种特殊的受限制的线性表。 **队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。** 队列是一种先进先出的(First In First Out)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作
阅读全文
摘要:```C++ #define _CRT_SECURE_NO_WARNINGS #include #include #include //节点结构体 struct stackNode { struct stackNode * next; }; //栈的结构体 struct LStack { struc
阅读全文
摘要:每当皇帝选妃时,首席太监小桂子总是忍不住在旁边偷窥这些候选的美女,有一次他发现做为伴读小书童的你居然犯了个常人都可以轻易看出的错误,有几位候选的美女站成如下一排: 是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。 请看下面案例,假设有如下课程,希望尽可能多的将课程安排在一间教室里: 课程 开始时间 结束时间 美术 9:00 10:00 英语 9:30 10:30 数学 1
阅读全文
摘要:# 1.哈希表的故事导入 ==故事情节== 为了提高开发团队精神,缓解工作压力,某IT公司组织开发团队的12位男同事和测试团队的12位女同事开展真人CS 4vs4 野战联谊!面对性感的女同事,男同事们个个摩拳擦掌,跃跃欲试! 野战活动那天,根据男女搭配,干活不累的原则,带队的专业教练让男同事站成一排
阅读全文
摘要:# 1.回溯的基本原理 在问题的解空间中,按深度优先遍历策略,从根节点出发搜索解空间树。算法搜索至解空间的任意一个节点时,先判断该节点是否包含问题的解。如果确定不包含,跳过对以该节点为根的子树的搜索,逐层向其祖先节点回溯,否则进入该子树,继续深度优先搜索。 回溯法解问题的所有解时,必须回溯到根节点,
阅读全文
摘要:人工智能时代,各国都在大力研究机器人技术,也制造出各种各样的机器人,比如:为了解决男女失衡而制造的美女机器人,假如你参与了某美女机器人的研发,你在这个项目中要求实现一个统计算法:如果美女机器人一次可以上1级台阶,也可以一次上2级台阶。求美女机器人走一个n级台阶总共有多少种走法。 乍一看,无从下手,不
阅读全文
摘要:一个装有16 枚硬币的袋子,16 枚硬币中有一个是伪造的,伪造的硬币和普通硬币从表面上看不出有任何差别,但是那个伪造的硬币比真的硬币要轻。现有给你一台天平,请你在尽可能最短的时间内找出那枚伪造的硬币。 常规思维: 每次从待比较的硬币中取两枚进行计较,如果天平平衡(相等)就继续取剩下的硬币进行比较 !
阅读全文
摘要:# 1.图的原理精讲 在计算机科学中,一个图就是一些顶点的集合,这些顶点通过一系列边结对(连接)。顶点用圆圈表示,边就是这些圆圈之间的连线。顶点之间通过边连接。注意:顶点有时也称为节点或者交点,边有时也称为链接。 社交网络,每一个人就是一个顶点,互相认识的人之间通过边联系在一起, 边表示彼此的关系。
阅读全文
摘要:# 1.顺序表的定义 - 顺序表是用一段**物理地址连续的存储单元**依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。 - 顺序表:**可动态增长的数组,要求数据是连续存储的** ```C++ typedef struct _SqList SqList; struct
阅读全文
摘要:# 1.栈的概念 栈(Stack)是一种数据结构,它遵循后进先出(Last-In-First-Out,LIFO)的原则,也就是说,最后进入栈的元素最先被取出。栈是一种线性数据结构,它由多个元素组成,每个元素被称为栈项(stack item),栈顶(top)是指最后一个被压入栈的元素,栈底(botto
阅读全文
摘要:# 1.堆的原理 堆(Heap)是一种数据结构,通常用于实现优先队列。堆是一种树形结构,通常由一个完全二叉树构成,因此它只有两个指针,即左子节点和右子节点。堆有两种类型:最大堆(Max Heap)和最小堆(Min Heap)。在最大堆中,父节点的值大于或等于其子节点的值;在最小堆中,父节点的值小于或
阅读全文