随笔分类 -  数据结构和算法

数据结构和算法
摘要:参考网址: https://www.jianshu.com/p/fd7b422d5f93 当前数据库分为关系型数据库和非关系型数据库 关系型数据库 关系型数据库:指采用了关系模型来组织数据的数据库。关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 关系 阅读全文
posted @ 2021-09-03 11:18 MaxBruce 阅读(265) 评论(0) 推荐(0)
摘要:题目:求(1)一组数字的全排列(2)一组数字中某几个数字的组合 一、排列算法: 全排列是将一组数按一定顺序进行排列,如果这组数有n个,那么全排列数为n!个。现以{1, 2, 3}为例说明如何编写全排列的递归算法。 如下图所示: 上图中,第一层S1表示第一个数分别与第1、2、3个数交换位置,如123是 阅读全文
posted @ 2021-08-19 09:46 MaxBruce 阅读(2675) 评论(0) 推荐(1)
摘要:参考网址: https://www.pianshen.com/article/42791020055/ 对于给定的集合A{a1,a2,...,an},其中的n个元素互不相同,如何输出这n个元素的所有排列(全排列)。 递归算法 这里以A{a,b,c}为例,来说明全排列的生成方法,对于这个集合,其包含3 阅读全文
posted @ 2021-08-17 23:27 MaxBruce 阅读(880) 评论(0) 推荐(0)
摘要:参考网址: https://www.jianshu.com/p/8b3cdca55dc0 写在前面: 上次我们介绍了神奇的只有五行的 Floyd-Warshall 最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短路”。 这次来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单 阅读全文
posted @ 2021-08-17 16:46 MaxBruce 阅读(168) 评论(0) 推荐(0)
摘要:参考网址: https://www.cnblogs.com/skywang12345/p/3711512.html 本章介绍迪杰斯特拉算法。和以往一样,本文会先对迪杰斯特拉算法的理论论知识进行介绍,然后给出C语言的实现。后续再分别给出C++和Java版本的实现。 目录1. 迪杰斯特拉算法介绍2. 迪 阅读全文
posted @ 2021-08-16 16:02 MaxBruce 阅读(641) 评论(0) 推荐(0)
摘要:参考网址: https://www.cnblogs.com/nicaicai/p/12689403.html 基本思想 本文的思路是以从小到大为例讲的。快速排序的基本思想是任取待排序序列的一个元素作为中心元素(可以用第一个,最后一个,也可以是中间任何一个),习惯将其称为pivot,枢轴元素;将所有比 阅读全文
posted @ 2021-08-16 10:28 MaxBruce 阅读(263) 评论(0) 推荐(0)
摘要:参考网址:https://www.cnblogs.com/aoximin/p/13162635.html 前言 简介图: 在数据的逻辑结构D=(KR)中,如果K中结点对于关系R的前趋和后继的个数不加限制,即仅含一种任意的关系,则称这种数据结构为图形结构。 来源百度百科 图形结构是一种比树形结构更复杂 阅读全文
posted @ 2021-08-13 17:10 MaxBruce 阅读(129) 评论(0) 推荐(0)
摘要:参考网址: https://www.cnblogs.com/Henvealf/p/5534071.html -恢复内容开始 作者版权所有,转载请注明出处,多谢. http://www.cnblogs.com/Henvealf/p/5534071.html 前些天因为某些原因,就试着回想一下图(gra 阅读全文
posted @ 2021-08-13 11:04 MaxBruce 阅读(446) 评论(0) 推荐(0)
摘要:参考网址: https://www.jianshu.com/p/60eb50dbfc39 如果是遍历一个数组,只需要从下标0到下标N-1循环就好了,遍历一个链表只需要从头指针开始直到没有next为止,即使是遍历一棵树,也可以从根结点开始,按照前序、中序和后序等方式进行。之所以可以这样,是因为这些结构 阅读全文
posted @ 2021-08-13 09:49 MaxBruce 阅读(334) 评论(0) 推荐(0)
摘要:参考网址:图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS) - 51CTO.COM 深度优先遍历(Depth First Search, 简称 DFS) 与广度优先遍历(Breath First Search)是图论中两种非常重要的算法,生产上广泛用于拓扑排序,寻路(走迷宫),搜索引 阅读全文
posted @ 2021-08-13 09:20 MaxBruce 阅读(13289) 评论(1) 推荐(1)
摘要:在数学中,对数是对求幂的逆运算,正如除法是乘法的倒数,反之亦然。这意味着一个数字的对数是必须产生另一个固定数字(基数)的指数, 在简单的情况下,乘数中的对数计数因子。如果a的x次方等于N(a>0,且a≠1),那么数x叫做以a为底N的对数,记作x=log_aN。其中, a叫做对数的底数,N叫做真数。 阅读全文
posted @ 2021-08-12 13:51 MaxBruce 阅读(6926) 评论(0) 推荐(0)
摘要:原文网址:https://www.shuzhiduo.com/A/Ae5RNQ2N5Q/ 迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止 ###基本思想 通过Dijkstra 阅读全文
posted @ 2021-08-12 12:07 MaxBruce 阅读(1149) 评论(0) 推荐(0)
摘要:参考网址:https://blog.csdn.net/lvcoc/article/details/104167648 先不管动态规划,先看斐波那契数列 斐波那契数列:F1=Fn-1+Fn-2 分别用递归和非递归实现一下 递归 //递归 public int FibnacciA(int n) { in 阅读全文
posted @ 2021-08-01 10:45 MaxBruce 阅读(337) 评论(0) 推荐(0)
摘要:参考网址:https://www.cnblogs.com/sunshineliulu/p/12995910.html 这两天在复习大顶堆和小顶堆,比起两年前的懵懵懂懂,这次理解起来就容易了一些。又翻看了一下自己之前的笔记数据结构与算法之PHP排序算法(堆排序),发现自己这次查阅资料,和之前的思路不太 阅读全文
posted @ 2021-07-19 22:42 MaxBruce 阅读(654) 评论(0) 推荐(0)
摘要:参考网址: https://www.cnblogs.com/jingmoxukong/category/528514.html?page=1 阅读全文
posted @ 2021-07-19 10:31 MaxBruce 阅读(49) 评论(0) 推荐(0)
摘要:一、堆排序 堆排序(Heap Sort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 二、堆 什么是堆 堆是一个树形结构,其实堆的底层是一棵完全二叉树。而完全二叉树是一层一层按照进入的顺序排成的。 阅读全文
posted @ 2021-05-19 13:07 MaxBruce 阅读(203) 评论(0) 推荐(0)
摘要:学过数据数据结构都知道二叉树的概念,而又有多种比较常见的二叉树类型,比如完全二叉树、满二叉树、二叉搜索树、均衡二叉树、完美二叉树等;今天我们要说的红黑树就是就是一颗非严格均衡的二叉树,均衡二叉树又是在二叉搜索树的基础上增加了自动维持平衡的性质,插入、搜索、删除的效率都比较高。红黑树也是实现TreeM 阅读全文
posted @ 2021-04-20 09:30 MaxBruce 阅读(157) 评论(0) 推荐(0)
摘要:在介绍堆排序之前,首先需要说明一下,堆是个什么玩意儿。 堆是一棵顺序存储的完全二叉树。 其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。 其中每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大根堆。 举例来说,对于n个元素的序列{R0, R1, ... , Rn}当且仅当 阅读全文
posted @ 2020-12-13 11:17 MaxBruce 阅读(745) 评论(0) 推荐(0)
摘要:目录 欢迎关注 正文 哈夫曼树 哈夫曼树也叫最优二叉树(哈夫曼树) 问题:什么是哈夫曼树? 例:将学生的百分制成绩转换为五分制成绩:≥90 分: A,80~89分: B,70~79分: C,60~69分: D,<60分: E。 if (a < 60){ b = 'E'; } else if (a < 阅读全文
posted @ 2020-12-13 11:09 MaxBruce 阅读(728) 评论(0) 推荐(0)