自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序园@大Null

原文均出自 程序园@大Null,网址链接:www.program-park.top

  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 《数据结构与算法》(二十五)- 排序算法:快速排序

目录前言1. 快速排序1.1 快速排序算法1.2 快速排序算法复杂度分析1.3 快速排序优化2. 总结前言部分内容摘自程杰的《大话数据结构》1. 快速排序  快速排序算法最早由图灵奖获得者 Tony Hoare 设计出来的,他在形式化方法理论以及 ALGOL60 编程语言的发明中都有卓越的贡献,是上世纪最伟大的计算机科学家之一。而这快速排序算法只是他众多贡献中的一个小发明而已。  更牛的是,我们现在要学习的这个快速排序算法,被列为 20 世纪十大算法之一。我们这些玩编程的人还有什么理由不去学习它

2021-11-24 16:28:13 1303 1

原创 《数据结构与算法》(二十四)- 排序算法:归并排序

目录前言1. 归并排序1.1 归并排序算法1.2 归并排序复杂度分析1.3 非递归实现归并排序2. 总结前言部分内容摘自程杰的《大话数据结构》1. 归并排序  上一篇我们讲了堆排序,因为它用到了完全二叉树,充分利用了完全二叉树的深度是 ⌊log2n⌋+1\lfloor log_2n\rfloor +1⌊log2​n⌋+1 的特性,所以效率比较高。不过堆结构的设计本身是比较复杂的,老实说,能想出这样的结构就挺不容易,有没有更直接简单的办法利用完全二叉树来排序呢?当然有。  先来举一个例子。你们知道

2021-11-24 14:58:38 463

原创 《数据结构与算法》(二十三)- 排序算法:堆排序

目录前言1. 堆排序1.1 堆排序算法1.2 堆排序复杂度分析2. 总结前言部分内容摘自程杰的《大话数据结构》1. 堆排序  我们前面讲到简单选择排序,它在待排序的n个记录中选择一个最小的记录需要比较n-1次。本来这也可以理解,查找第一个数据需要比较这么多次是正常的,否.则如何知道它是最小的记录。  可惜的是,这样的操作并没有把每一趟的 比较结果保存下来,在后一趟的比较中,有许多比较在前一趟已经做过了,但由于前一趟排序时未保存这些比较结果,所以后一趟排序时又重复执行了这些比较操作,因而记录的比较

2021-11-24 13:13:49 819

原创 《数据结构与算法》(二十二)- 排序算法:希尔排序

目录1. 希尔排序1. 希尔排序  给大家出一道智力题。请问 “VII” 是什么?  嗯,很好,它是罗马数字的 7。现在我们要给它加上一笔,让它变成 8(VIII),应该是非常简单,只需要在右侧加一-竖线即可。  现在我请大家试着对罗马数字9,也就是“IX" 增加一笔,把它变成6,应该怎么做?  我这里有 3 种另类的方法可以实现它。  方法一:观察发现 “X” 其实可以看作是一个正放一个倒置两个 “V”。 因此我们,给 “IX” 中间加一条水平线,上下颠倒, 然后遮住下面部分,也就是说,我们

2021-11-23 18:52:18 820

原创 《数据结构与算法》(二十一)- 简单排序算法详解:冒泡、简单选择、直接插入

目录前言1. 排序的基本概念与分类1.1 排序的稳定性1.2 内排序与外排序1.3 排序用到的结构与函数2. 冒泡排序2.1 最简单排序的实现2.2 冒泡排序算法2.3 冒泡排序优化2.4 冒泡排序复杂度分析3. 简单选择排序3.1 简单选择排序算法3.2 简单选择排序复杂度分析4. 直接插入排序4.1 直接插入排序算法4.2 直接插入排序复杂度分析5. 总结前言部分内容摘自程杰的《大话数据结构》1. 排序的基本概念与分类  排序是我们生活中经常会面对的问题。同学们做操时会按照从矮到高排列;老师查

2021-11-17 16:50:02 1546

原创 《数据结构与算法》(二十)- 散列表查找

目录前言1. 散列表查找(哈希表)概述1.1 散列表查找定义1.2 散列表查找步骤2. 散列函数的构造方法2.1 直接定址法2.2 数字分析法2.3 平方取中法2.4 折叠法2.5 除留余数法2.6 随机数法3. 处理散列冲突的方法3.1 开放定址法3.2 再散列函数法3.3 链地址法3.4 公共溢出区法4. 散列表查找的实现4.1 散列表查找的算法实现4.2 散列表查找性能分析5. 总结前言部分内容摘自程杰的《大话数据结构》1. 散列表查找(哈希表)概述  在前面的顺序表查找中,我们曾经说过,如

2021-11-17 12:50:15 1365

原创 Markdown数学公式语法

目录前言1. 行内与独行2. 数学运算符3. 数学符号4. 希腊字母前言最近在写算法相关的博客,发现有些数学相关的字符因为不熟悉,打一个就得查一下很是麻烦,所以最终还是做了这篇Markdown进阶语法的博客,一些简单的就不写进去了,仅供学习使用。1. 行内与独行语法释义使用方法$$行内公式:将公式插入到本行内$公式内容$$$$$独行公式:将公式插入到新的一行内,并且居中$$公式内容$$2. 数学运算符语法释义示例$\pm$加减运算

2021-11-16 17:23:38 426

原创 《数据结构与算法》(十九)- 多路查找树

目录前言1. 多路查找树(B树)1) 2-3树1.1) 2-3树的插入实现1.2) 2-3树的删除实现2) 2-3-4树3) B树4) B+树2. 总结前言部分内容摘自程杰的《大话数据结构》1. 多路查找树(B树)  内存一般都是由硅制的存储芯片组成,这种技术的每一个存储单位代价都要比磁存储技术昂贵两个数量级,因此基于磁盘技术的外存,容量比内存的容量至少大两个数量级。这也就是目前 PC 通常内存几个 G 而已、而硬盘却可以成百,上千 G 容量的原因。  我们前面讨论过的数据结构,处理数据都是在内

2021-11-16 15:13:53 552

原创 《数据结构与算法》(十八)- 平衡二叉树

目录前言1. 平衡二叉树(AVL树)1.1 平衡二叉树实现原理1.2 平衡二叉树实现算法2. 总结前言部分内容摘自程杰的《大话数据结构》1. 平衡二叉树(AVL树)  有一部德国人制作的叫《平衡》(英文名:Balance)的短片,它在 1989 年获得奥斯卡最佳短片奖。说的是在空中,悬浮着一个四方的平板,上面站立着 5 个人,同样的相貌,同样的装束,同样的面无表情。平板的中心是个看不见的支点,为了平衡,5 个人必须寻找合适的位置。原本,简单的站在中心就可以了,可是,如同我们一样,他们也好奇于这个世

2021-11-16 11:06:26 494

原创 《数据结构与算法》(十七)- 二叉排序树

目录前言1. 二叉排序树1.1 二叉排序树的查找操作1.2 二叉排序树的插入操作1.3 二叉排序树删除操作1.4 二叉排序树总结2. 总结前言部分内容摘自程杰的《大话数据结构》1. 二叉排序树  大家可能都听过这个故事,说有两个年轻人正在深山中行走。忽然发现远处有一只老虎要冲过来,怎么办?其中一个赶忙弯腰系鞋带,另一个奇怪地问:“你系鞋带干什么?你不可能跑得比老虎还快。” 系鞋带者说:“我有什么必要跑赢老虎呢?我只要跑得比你快就行了。”  这真是交友不慎呀!别急,如果你的朋友是系鞋带者,你怎么办

2021-11-15 15:31:09 1286

原创 《数据结构与算法》(十六)- “查找”详解

目录1. 查找概论2. 顺序表查找2.1 顺序表查找算法2.2 顺序表找优化3. 有序表查找3.1 折半查找3.2 插值查找1. 查找概论  只要打开电脑,就会涉及到查找技术。如炒股软件中查股票信息、硬盘文件中找照片、在光盘中搜DVD,甚至玩游戏时在内存中查找攻击力、魅力值等数据修改用来作弊等,都要涉及到查找。当然,在互联网上查找信息就更加是家常便饭。所有这些需要被查的数据所在的集合,我们给它一个统称叫查找表。  查找表(Search Table)是由同一类型的数据元素(或记录)构成的集合。例如下图就

2021-11-15 15:30:13 1128

原创 《数据结构与算法》(十五)- 图的应用:有向无环图

目录前言1. 拓扑排序1.1 拓扑排序介绍1.2 拓扑排序算法2. 关键路径2.1 关键路径算法的原理2.2 关键路径算法3. 总结前言部分内容摘自程杰的《大话数据结构》1. 拓扑排序1.1 拓扑排序介绍  我们会把施工过程、生产流程、软件开发、教学安排等都当成一个项目工程来对待,所有的工程都可分为若千个 “活动” 的子工程。例如下图是一张电影制作流程图,现实中可能并不完全相同,但基本表达了二个工程和若千个活动的概念。在这些活动之间,通常会受到一定的条 件约束,如其中某些活动必须在另一些活动完成

2021-11-11 17:15:34 1869

原创 《数据结构与算法》(十四)- 图的应用:最短路径

目录前言1. 最短路径1.1 迪杰斯特拉(Dijkstra)算法1.2 佛洛依德(Floyd)算法2. 总结前言部分内容摘自程杰的《大话数据结构》1. 最短路径  我们时常会面临着对路径选择的决策问题。例如在北京、上海、 广州等城市,因其城市面积较大,乘地铁或公交都要考虑从A点到B点,如何换乘到达?比如下图这样的地铁网图,如果不是专门去做研究,对于刚接触的人来说,都会犯迷糊。  现实中,每个人需求不同,选择方案就不尽相同。有人为了省钱,它需要的是路程最短(定价以路程长短为标准),但可能由于线路班

2021-11-11 14:47:18 1299

原创 《数据结构与算法》(十三)- 图的应用:最小生成树

目录前言1. 最小生成树1.1 普里姆(Prim)算法1.2 克鲁斯卡尔(Kruskal)算法2. 总结前言部分内容摘自程杰的《大话数据结构》1. 最小生成树  假设你是电信的实施工程师,需要为一个镇的九个村庄架设通信网络做设计,村庄位置大致如下图,其中 v0_00​~v8_88​ 是村庄,之间连线的数字表示村与村间的可通达的直线距离,比如 v0_00​ 至 v1_11​ 就是 10 公里(个别如 v0_00​ 与 v6_66​,v6_66​ 与v8_88​,v5_55​ 与 v7_77​ 未测算

2021-11-10 17:24:21 1327

原创 《数据结构与算法》(十二)- 图详解

目录1. 图的定义1.1 各种图的定义1.2 图的顶点与边间关系1.3 连通图的相关术语1.4 图的定义与术语总结2. 图的抽象数据类型3. 图的存储结构3.1 邻接矩阵3.2 邻接表3.3 十字链表3.4 邻接多重表1. 图的定义  在线性表中,数据元素之间是被串起来的,仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继。在树形结构中,数据元素之间有着明显的层次关系,并且每一层上的数据元素可能和下一层中多个元素相关,但只能和上一层中一个元素相关。这和一对父母可以有多个孩子,但每个孩子却只能有一对

2021-11-10 15:42:19 1148 1

原创 《数据结构与算法》(十一)- 树、森林与二叉树的转换及哈夫曼树详解

目录1. 树、森林与二叉树之间的转换1.1 树转换为二叉树1.2. 森林转换为二叉树1.3. 二叉树转换为树1. 树、森林与二叉树之间的转换1.1 树转换为二叉树  树如下图所示。  将树转换为二叉树的步骤如下:加线。在所有兄弟结点之间加一条连线,如下图所示。去线。对树中每个结点,只保留它与第一个孩子结点的连线,删除它与其他孩子结点之间的连线。层次调整。以树的根结点为轴心,将整棵树顺时针旋转一定的角度, 使之结构层次分明。注意第一个孩子是二叉树结点的左孩子,兄弟转换过来的孩子是结点的右

2021-11-09 12:34:32 1955

原创 《数据结构与算法》(十)- 二叉树详解

目录1. 二叉树简介1.1 二叉树的定义1.2 二叉树的特点1.2 特殊二叉树2. 二叉树的性质2.1 二叉树的性质12.2 二叉树的性质22.3 二叉树的性质32.4 二叉树的性质42.5 二叉树的性质53. 二叉树的存储结构3.1 二叉树顺序存储结构1. 二叉树简介1.1 二叉树的定义  现在我们来做个游戏,我在纸上已经写好了一个 100 以内的正整数数字,请大家想办法猜出我写的是哪一个?注意你们猜的数字不能超过 7 个,我的回答只会告诉你是 “大了” 或 “小了”。  这个游戏在一些电视节目中

2021-11-08 15:41:51 1312

原创 《数据结构与算法》(九)- 树详解

目录前言1. 树1.1 树的定义1.2 结点的分类1.3 结点间的关系1.4 树的其他相关概念2. 树的抽象数据类型3. 树的存储结构3.1 双亲表示法3.2 孩子表示法3.3 孩子兄弟表示法4. 总结前言部分内容摘自程杰的《大话数据结构》1. 树1.1 树的定义  之前我们一直在谈的是一对一的线性结构,可现实中,还有很多一对多的情况需要处理,所以我们需要研究这种一对多的数据结构——“树”,考虑它的各种特性,来解决我们在编程中碰到的相关问题。树(Tree)是n (n≥0) 个结点的有限集。n

2021-11-02 16:30:35 668

原创 《数据结构与算法》(八)- 串详解

目录1. 串的定义2. 串的比较3. 串的抽象数据类型4. 串的存储结构4.1 串的顺序存储结构4.2 串的链式存储结构5. 朴素的模式匹配算法6. KMP模式匹配算法6.1 KMP模式匹配算法原理1. 串的定义  早先的计算机在被发明时,主要作用是做一些科学和工程的计算工作, 也就是现在我们理解的计算器,只不过它比小小计算器功能更强大、速度更快一些。 后来发现,在计算机上作非数值处理的工作越来越多,使得我们不得不需要引入对字符的处理。于是就有了字符串的概念。  比如我们现在常用的搜索引擎,当我们在文

2021-11-02 14:19:16 1057

原创 《数据结构与算法》(七)- 队列详解

目录前言1. 队列的定义2. 队列的抽象数据类型3. 循环队列3.1 队列顺序存储的不足3.2 循环队列定义4. 队列的链式存储结构及实现4.1 队列的链式存储结构——入队操作4.2 队列的链式存储结构——出队操作5. 总结前言部分内容摘自程杰的《大话数据结构》1. 队列的定义  相信大家在用电脑时都经历过,机器有时会处于疑似死机的状态,鼠标点什么似乎都没用,双击任何快捷方式都不动弹。就当你失去耐心,打算 reset 时。突然它像酒醒了一样, 把你刚才点击的所有操作全部都按顺序执行了一遍。这其实是

2021-11-01 20:09:19 550

suse12 sp4,sp5镜像SLE-12-SP4,SLE-12-SP5资源分享

之前在网上找suse12的资源,结果发现他们连这点积分都赚,很是无语,这里分享sp4和sp5的镜像资源,博主也是花钱买来的,免费分享给大家,因为文件太大,放在百度云上,有需要的可以去下载,觉得有帮助的给个赞点个关注就行

2021-03-26

空空如也

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

TA关注的人

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