算法与数据结构
文章平均质量分 95
C++实现
renlei2293
wx: ren2504413601
Northwestern Polytechnical University(NPU)
Xi'an,Shaan Xi Provience
展开
-
leetcode 排序数组 十大排序算法实现
leetcode912. 排序数组 十大排序算法实现文章目录leetcode912. 排序数组 十大排序算法实现[912. 排序数组](https://leetcode-cn.com/problems/sort-an-array/)题目描述排序算法分类算法复杂度Solution Ideabubble sort(冒泡排序)Selection sort(选择排序)Insertion sort(插入排...原创 2020-04-01 16:27:43 · 1677 阅读 · 1 评论 -
74. 搜索二维矩阵
文章目录leetcode74:[74. 搜索二维矩阵](https://leetcode-cn.com/problems/search-a-2d-matrix/)题目描述solution idea遍历查找二分查找参考文献leetcode74:74. 搜索二维矩阵题目描述编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。...原创 2020-02-28 21:36:41 · 258 阅读 · 0 评论 -
算法与数据结构(十五):贪心算法(哈夫曼编码问题)(C++实现)
文章目录算法与数据结构(十五):贪心算法(哈夫曼编码问题)(C++实现)哈夫曼编码基本思想哈夫曼树的构建主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(十五):贪心算法(哈夫曼编码问题)(C++实现)哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法...原创 2019-11-23 19:05:54 · 4015 阅读 · 2 评论 -
算法与数据结构(十四):动态规划算法(导弹拦截问题)(C++实现)
文章目录算法与数据结构(十四):动态规划算法(导弹拦截问题)(C++实现)动态规划法基本思想动态规划法适用条件导弹拦截问题主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(十四):动态规划算法(导弹拦截问题)(C++实现)动态规划法基本思想动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具...原创 2019-11-16 15:45:41 · 2655 阅读 · 0 评论 -
算法与数据结构(十三):分支限界算法(0-1背包问题)(C++实现)
文章目录算法与数据结构(十三):分支限界算法(0-1背包问题)(C++实现)分支限界法基本思想背包问题主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(十三):分支限界算法(0-1背包问题)(C++实现)分支限界法基本思想分支限界法常以广度优先或者最小耗费(最大效益)优先的方式搜索问题的解空间树。问题的解空间树是表示问题解空间的一颗有序树,常见的有子集树和排...原创 2019-11-12 19:50:17 · 2467 阅读 · 0 评论 -
算法与数据结构(十二):回溯算法(八皇后问题)(C++实现)
文章目录算法与数据结构(十二):回溯算法(八皇后问题)(C++实现)回溯算法基本思想八皇后问题主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(十二):回溯算法(八皇后问题)(C++实现)回溯算法基本思想在实际运用中,回溯算法的基本思想是:首先为问题定义一个解空间,这个空间至少包含问题的一个解(可能就是最优的)。然后,先选择某一种可能的情况向前探索,在搜索的...原创 2019-11-09 18:14:04 · 273 阅读 · 0 评论 -
算法与数据结构(十一):动态规划算法(Floyd算法)(C++实现)
文章目录算法与数据结构(十一):动态规划算法(Floyd算法)(C++实现)动态规划问题多源最短路径问题主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(十一):动态规划算法(Floyd算法)(C++实现)动态规划问题动态规划法主要适用于最优化问题的求解。这类问题会有多种可能的解,每个解都有一个值,动态规划就是找出其中最优(最大或者最小)值的解。若存在若干个...原创 2019-11-08 19:52:11 · 499 阅读 · 0 评论 -
算法与数据结构(十):FIFO分支限界法(旅行商问题)(C++实现)
文章目录算法与数据结构(十):FIFO分支限界法(旅行商问题)(C++实现)分支限界法基本思想旅行商问题(TSP)问题主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(十):FIFO分支限界法(旅行商问题)(C++实现)分支限界法基本思想分支限界法常以广度优先或者最小耗费(最大效益)优先的方式搜索问题的解空间树。问题的解空间树是表示问题解空间的一颗有序树,常...原创 2019-11-07 19:48:17 · 4891 阅读 · 2 评论 -
算法与数据结构(九):回溯算法(全排列问题)(C++实现)
文章目录算法与数据结构(九):回溯算法(全排列问题)(C++实现)回溯算法基本思想全排列问题主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(九):回溯算法(全排列问题)(C++实现)回溯算法基本思想在实际运用中,回溯算法的基本思想是:首先为问题定义一个解空间,这个空间至少包含问题的一个解(可能就是最优的)。然后,先选择某一种可能的情况向前探索,在搜索的过程...原创 2019-11-05 19:48:23 · 1170 阅读 · 0 评论 -
算法与数据结构(八):回溯算法(子集合问题)(C++实现)
文章目录算法与数据结构(八):回溯算法(子集合问题)(C++实现)回溯算法基本思想子集合问题主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(八):回溯算法(子集合问题)(C++实现)回溯算法基本思想在实际运用中,回溯算法的基本思想是:首先为问题定义一个解空间,这个空间至少包含问题的一个解(可能就是最优的)。然后,先选择某一种可能的情况向前探索,在搜索的过程...原创 2019-11-05 19:45:35 · 742 阅读 · 0 评论 -
算法与数据结构(七):回溯算法(小老鼠走迷宫)(C++实现)
文章目录算法与数据结构(七):回溯算法(小老鼠走迷宫)(C++实现)回溯算法基本思想小老鼠走迷宫问题主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(七):回溯算法(小老鼠走迷宫)(C++实现)回溯算法基本思想在实际运用中,回溯算法的基本思想是:首先为问题定义一个解空间,这个空间至少包含问题的一个解(可能就是最优的)。然后,先选择某一种可能的情况向前探索,在...原创 2019-11-04 19:36:52 · 1598 阅读 · 0 评论 -
算法与数据结构(六):最小生成树(C++实现)
文章目录算法与数据结构(六):最小生成树(C++实现)Kruskal.cpp参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(六):最小生成树(C++实现)对图进行深度优先搜素或者广度优先搜索,可以生成一颗深度优先搜索树或者广度优先搜索树。搜索的出发点不同,生成树的形态也不同。在一个有权连通图中,生成树的各边权值之和最小的那棵树称作最小权值生成树,简称最小生成树。...原创 2019-11-01 20:06:31 · 449 阅读 · 0 评论 -
算法与数据结构(五):背包问题(C++实现)
文章目录算法与数据结构(五):背包问题(C++实现)头文件定义线性表类的成员变量和成员函数头文件类成员函数的实现主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(五):背包问题(C++实现)背包问题分为两类,部分背包问题、背包问题。背包问题是所有装入背包的物品都必须作为一个整体,比如电器、工具等,称之为0-1背包问题。部分背包问题是指装入背包的物品可以被部分装...原创 2019-10-23 19:49:48 · 910 阅读 · 0 评论 -
算法与数据结构(四):图的邻接矩阵表示(C++实现)
文章目录算法与数据结构(四):图的邻接矩阵表示(C++实现)邻接矩阵主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(四):图的邻接矩阵表示(C++实现)图是图结构的简称,它是由非空的顶点集合和一个描述顶点之间关系的边或者弧的集合组成,其形式化定义为:G=(V,E)G=(V,E)G=(V,E)。其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。邻接...原创 2019-10-22 19:29:26 · 806 阅读 · 0 评论 -
算法与数据结构(三):二叉树(C++实现)
文章目录算法与数据结构(三):二叉树(C++实现)二叉树的遍历主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(三):二叉树(C++实现)所谓二叉树是指由 n(n>=0)$个节点的有限集合构成,此集合或者为空集,或者由一个根节点及左右两颗互不相交的左右子树构成,并且左右子树都是二叉树。二叉树的遍历如果用L、D、R分别表示遍历左子树、访问根节点、遍历右...原创 2019-10-21 20:15:45 · 268 阅读 · 0 评论 -
算法与数据结构(二):双向链表(C++实现)
文章目录算法与数据结构(一):双向链表(C++实现)主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(一):双向链表(C++实现)链表是一组数据元素的集合,其中每个数据元素都是一个节点,节点的数据部分称作数据域。为了能够对整个链表进行访问和操作,链表的每个节点至少还应该包含一个指向后继元素在物理内存中的位置信息(称作指针域)。当然,一个节点同样还可以包含指向前...原创 2019-10-20 17:09:04 · 333 阅读 · 0 评论 -
算法与数据结构(一):线性表(C++实现)
文章目录算法与数据结构(一):线性表(C++实现)头文件定义线性表类的成员变量和成员函数头文件类成员函数的实现主函数参考:算法分析与设计(C++描述) 石志国、刘冀伟、姚亦飞编著算法与数据结构(一):线性表(C++实现)在计算机内存中存放线性表的最简单和最常用的方式使用一组地址上连续的存储单元依次存储线性表的每一个元素。使线性表中相邻的元素存放在地址中相邻的物理存储单元中,这种存储结构称作顺序...原创 2019-10-19 22:50:58 · 950 阅读 · 0 评论