自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 查找算法(部分)

顺序查找二分查找插值查找斐波那契查找树表查找分块查找哈希查找

2024-01-15 13:35:49 391 2

原创 MySQL 基础语法

MySQL菜鸟教程MySQL连接从命令行中连接mysql服务器:[root@host]# mysql -u root -pEnter password:******举例:当没有密码时,也可以:登录成功后:

2021-01-17 23:28:36 46

原创 2020-10-24__1024

节日快乐吼~凑个热闹可还行.

2020-10-24 21:26:48 241

原创 排序算法 大号 总结

排序算法种类繁多,我也是在算法的世界里晕头转向,今天必须得好好管理一下这些排序算法了。在这里,简单地列举一下有关的12种排序算法:要想通俗易懂,举个例子就好:将 8 6 1 5 4 3 按升序排好 1 3 4 5 6 8那么就先从我们最熟悉的冒泡排序开始吧一.交换排序1.冒泡排序原理:两两进行比较,前面的比后面的大的话,就交换...

2020-02-28 14:30:29 1439 5

原创 图——图的应用之最短路径,拓扑排序、关键路径

最短路径:定义:问题抽象:在有向网中 A 点(源点)到达 B 点(终点)的多条路径中,寻找一条各边权值之和最小的路径,即最短路径。最短路径...

2020-02-19 00:57:48 2369

原创 图——图的应用之最小生成树

生成树:所有顶点均由边连接在一起,但不存在回路。举例:这个图可以有很多棵不同的生成树,如: 特点:生成树的顶点个数与图的顶点个数相同生成树是图的极小连通子图,去掉一条边则非连通一个有n个顶点的连通图的生成树有n-1条边在生成树中再加一条边必然形成回路生成树中任意两个顶点间的路径是唯一的含有n个顶点,n-1条边的图不一定是...

2020-02-18 20:25:44 1670

原创 图——图的遍历之DFS(深度优先搜索)、BFS(广度优先搜素)

图的遍历是图的基本运算。遍历定义:从已给的连通图中某一顶点出发,沿着一些边访遍图中所有的顶点,且每个顶点仅被访问一次,就叫做图的遍历。遍历实质:找每个顶点的邻接点的过程。由于图的特点是图中可能存在回路,且图的任一顶点都可能与其它顶点相通,所以在访问完某个顶点之后很可能会沿着某些边又回到曾经访问过的顶点 。方法(避免重复访问):设置辅助数组,用来标记每个被访问过的顶点。...

2020-02-17 22:02:59 523

原创 图——图的存储结构之邻接矩阵、邻接表,十字链表,邻接多重表

图的逻辑结构:多对多。图的存储结构:图没有顺序存储结构,但可以借助二维数组来表示元素之间的关系数组表示法(邻接矩阵):无向图的邻接矩阵:例:共有5个顶点,所以形成5*5的方阵。举个例子,比如第一行:v1与v1本身之间无边,无邻接关系,所以为0v1与v2之间有边,有邻接关系,所以为1v1与v3之间无边,无邻接关系,所以为0v1与v4之间有边...

2020-02-16 09:01:14 3685 2

原创 图——基本概念和类型定义

图是一种非线性结构。目录图的基本概念:引入定义相关术语:有向图无向图完全图稀疏图稠密图权网邻接关联(依附)顶点的度有向树路径路径长度回路(环)简单路径简单回路(简单环)连通图强连通图子图连通分量强连通分量极小连通子图生成树生成森林图的类型定义:抽象数据类型定义几个重要的操...

2020-02-15 17:25:02 2779 1

原创 树——哈夫曼树的概念及其应用

目录哈夫曼概念引入相关概念举例基本概念特点哈夫曼树的构造算法1.哈夫曼算法举例2.哈夫曼树算法实现:举例实现哈夫曼典型应用—哈夫曼编码思想举例产生的两大问题算法实现文件的编码和解码编码解码哈夫曼概念:引入:由上述对比,为找到效率最高的判别树,引入了哈夫曼树(最优二叉树)的概念。相关概念:...

2020-02-13 15:41:26 1287

原创 树——树的结构、遍历以及树和森林,二叉树的相互转化

目录树的存储结构双亲表示法孩子链表特点改进孩子兄弟表示法举例树与二叉树的转换简化树—>二叉树二叉树—>树森林和二叉树的转换森林—>二叉树举例二叉树—>森林举例树和森林的遍历树的遍历(三种方式)森林的遍历(两种方式)先序遍历中序遍历树的存储结构:双亲表示法:就比如说A,B...

2020-02-13 15:37:13 357

原创 树——二叉树的遍历、代码实现以及线索二叉树

目录遍历二叉树定义遍历方法遍历算法描述由二叉树得到遍历序列先序遍历二叉树的操作中序遍历二叉树的操作后序遍历二叉树的操作由遍历序列确定二叉树已知先序序列和中序序列求二叉树已知后序序列和中序序列求二叉树遍历的算法实现(递归与非递归)先序遍历算法(递归算法)中序遍历算法(递归算法)中序遍历算法(非递归算法)后序遍历算法(递归算法)...

2020-02-13 15:29:25 525

原创 树——二叉树的性质以及存储结构

目录二叉树的性质性质1证明(归纳法)性质2性质3性质4举例证明性质5举例示意图二叉树的存储结构顺序存储结构类型定义缺点链式存储结构二叉链表类型定义三叉链表二叉树的性质:性质1:第 i 层上至少有1个结点。证明(归纳法):性质2:深度为 k 时至少有 k 个结点。性质3:...

2020-02-13 15:12:54 353

原创 树——树和二叉树的相关概念

树是一种非线性结构。目录树引入定义树的其他表示方式树的基本术语树结构和线性结构的比较二叉树引入定义特点特别注意二叉树的基本形态两种特殊形式的二叉树满二叉树完全二叉树树和二叉树的抽象类型定义树引入:定义:而子树本身又是一个树,又可以看成是由一个根和其它元素所构成的集合组成的。所以很容易看出来,树的定义是一个递...

2020-02-13 14:43:43 507

原创 串、数组、广义表 知识点总结

目录串串的定义相关概念空串与空格串的区别串的类型定义串的存储结构存储密度的计算数组数组特点数组的基本操作数组的抽象数据类型数组基本操作:二维数组二维数组元素位置的计算三维数组三维数组元素位置的计算n维数组元素位置的计算特殊矩阵的压缩存取压缩对象:一些特殊矩阵,如:对称矩阵,对角矩阵,三角矩阵,稀疏矩阵等。对...

2020-02-08 22:25:08 3048

原创 BF算法和KMP算法详解

目录串的模式匹配算法:算法目的算法种类<1> BF算法(穷举法)<2>KMP算法BF算法算法的思路具体过程子串位置的计算代码实现时间复杂度KMP算法求解next的方法求next[j+1] 使用next数组来实现过程代码实现next 数组的优化代码实现串的模式匹配算法:算法...

2020-02-07 00:01:09 5968

原创 C++ map、set用法总结

C++容器之map、setC++的标准模板库(Standard Template Library,简称STL)是一个容器和算法的类库,容器往往包含同一类型的数据,STL中比较常用的容器是vector,set,和map,比较常用的算法有 Sort 等。今天就来介绍一下map和set。目录map(映射):特性基本构造函数(声明方式)插入(共三种)大小查找(判断关键...

2020-02-03 21:41:08 2857

原创 C++ vector、list用法总结

常用容器之二—— vector 和 list 。目录vector(向量):优点缺点resize() 和 reserve() 的区别1. resize(n)函数:2. reserve(n)函数:区别:初始化访问赋值插入删除清空收缩内存list(双向链表):优点缺点初始化基本函数赋值合并删除倒转(逆序...

2020-02-03 00:51:49 5513

原创 C++ stack、queue用法总结

学过数据结构的栈和队列这一章的小伙伴们都知道,我们在真正用代码实现栈和队列的时候,是非常繁琐而且耗时的,如果我们用这种方式C++栈和队列来实现的话,就简便了很多,所以可一定要会啊。目录C++ Stacks(堆栈)操作在栈顶增加元素(即将元素压入栈)返回栈中元素数目判断堆栈是否为空返回栈顶的元素移除栈顶的元素C++ queue操作在队尾添加元素返回队...

2020-01-31 21:29:20 1981

原创 C++ string类总结

我们以前处理字符串都是用char*,而当学了string之后,我们会果断使用这个来处理字符串,因为这个是真的很简便啦!目录string类的优点:基础篇:声明一个string字符串(代码演示)生成一个空字符串为字符串赋初值用C语言里的字符串s作为str的初值生成一个字符串,包含n个字符c复制构造函数成员函数(字符串的容量)获取字符串的字符数获取可...

2020-01-31 17:36:31 1838 2

原创 栈和队列的知识点以及代码详解

栈和队列是线性表的子集(是插入和删除位置受限的线性表)。简单点说,栈和队列是限定插入和删除只能在表的“端点”进行的线性表。再简单形象点来说:普通线性表:Insert(L,i,x) //可以插入在表的任意位置(表头,表尾,表中间)1<=i<=n+1Delete(L,i) //可以删除表中的任意元素1<=i<=n特殊线性表:栈:...

2020-01-30 13:13:49 1736

原创 学会线性表,一篇就够了

线性表是最常用最典型的线性结构。简易目录:线性表: 逻辑特征 线性表的类型定义 存储结构 顺序存储表示 元素存储位置的计算 顺序表的基本操作实现 顺序表各算法时间复杂度的计算 C++中的参数传递 链式存储表示 ...

2020-01-24 16:42:34 4069 3

原创 理解数据结构——数据结构绪论总结

由于关于数据结构的概念和知识点过于繁乱,所以我今天就将其理了理,然后概括了一下本章我认为较重要的一些。我们都知道计算机主要用于数值计算,而我们的数据结构主要研究非数值计算问题(大多为生活中遇到的问题)。上图就是它们的基本关系,关于其基本概念什么的,在这里就不多说了。其中存储结构又叫做物理结构,其中的顺序结构通常借助C语言中的数组类型来描述,而链式结构是借助C语言中的指针类型来描述的...

2020-01-17 04:23:59 554

原创 汉诺塔基础

不得不说,杭电oj上关于汉诺塔的各种题型,我实在是佩服。在解决汉诺塔问题之前,先来讲一个小故事:早在印度就有一个传说,大梵天在创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64个黄金圆盘。于是大梵天命令婆罗门把圆盘按大小顺序重新摆放到另一根柱子上。并且规定,大圆盘不能放在小圆盘上面,在三根柱子之间一次只能移动一个圆盘。这就是最基础的汉诺塔问题,,就是让我们求移动步数...

2020-01-10 04:22:52 3329

原创 如何使用scanf输入带空格的字符串

学过字符串,我们都知道当输入一串带空格的字符(通俗的说,就是英语中由一个个单词组成的一句话)时,举个例子,比如my name is aeiou如果你用scanf直接输入的话,像这样 scanf("%s",str);结果是这样的…my由运行结果我们可以看出,它遇到空格就停止读入了。So 我们一般都选择用gets函数来读入一个带空格的字符串就像这样 gets(str);运行...

2019-12-23 00:25:45 14727 3

原创 ## 《通过预处理数据的方法降低程序时间复杂度》

##《通过预处理数据的方法降低程序时间复杂度》简单点说,就是如何尽量避免**超时**问题。为了通俗点,下面举两个例子:首先呢,*素数判定*是一道经典例题简化版的素数判定大概就是判断在x,y范围内(-39<=x<y<=50)的任意一个整数,如果都是素数的话就输出Yes,否则输出No。.这道题常规的解题思路就是1.输入x,y,取其中任意一个数m2.利用循环i...

2019-12-19 22:01:50 568

空空如也

空空如也

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

TA关注的人

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