代码编织梦想

算法-贪心算法详解-爱代码爱编程

目录 概述 引入 钞票支付问题 解答 最优子结构 区间问题 leetcode 435 无重叠区间 解答 问题转换 leetcode 55 跳跃游戏 解答 题目 概述 顾名思义,贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。 引入 钞票支付问题 有1元、5元、10元、20元、

数据结构-快速排序(含全部代码)-爱代码爱编程

目录 函数分析 代码 全部代码 截图 算法可视化 函数分析 QuickSort(SqList &L,int low,high) 参数:顺序表L,待排最小下标,待排最大下标 功能:排序(默认升序)空间复杂度:O(1) 时间复杂度:O(nlog2n)-O(n) 稳定性:不稳定 代码 //快速排序分割函数 int Partition(S

数据结构-冒泡排序(含全部代码)-爱代码爱编程

目录 函数分析 代码 全部代码 结果截图 函数分析 下标从小到大,相邻依次比较,直到最后两个被比较,每次比较,若为逆序,则交换,以上为一趟冒泡排序。 使用一个标记,有交换时标记,若一趟下来没有需要交换的,则停止。 void BubbleSort(SqList &L) 参数:顺序表L,时间复杂度O(n^2),空间复杂度O(1),稳定性:

双指针算法详解(快慢指针、对撞指针、滑动窗口)-爱代码爱编程

目录 双指针 快慢指针 例题 思路 代码 对撞指针 例题 思路 代码 滑动窗口 例题 思路 代码 双指针 双指针比较灵活,可以大大降低时间复杂度,可用在数组,单链表等数据结构中。 快慢指针:一快一慢,步长一大一小。例如,是否有环问题(看慢指针是否能追上快指针),单链表找中间节点问题(快指针到单链表结尾,慢指针到一半)。 对

并查集(Disjoint Set)详解+例题-爱代码爱编程

目录 概述 步骤 例题 题目描述 代码 概述 并查集,顾名思义,需要对集合进行查询与合并。 步骤 1、初始化:把每个点所在集合初始化为其自身; 2、查询:查询元素所在的集合,即根节点; 3、合并:若集合不同,将两个元素所在的集合合并为一个集合,即根节点合并; 并查集是一种树型的数据结构,常常在使用中以森林来表示(可查看树-双亲表示法)。

递归-深度优先搜索(模板、回溯、剪枝、记忆化)-爱代码爱编程

目录 简介 可视化 方向问题 自顶向下 思路 模板 举例 自底向上 思路 模板 举例 回溯 思路 模板 举例 剪枝 记忆化 举例 递归与栈 总结 简介 深度优先搜索(DFS,Depth First Search)属于递归算法的一种。其过程简要来说是对问题划分为子问题,再继续划分直到不能划分为止,带求解问题即为递归

C++ 类型转换(内置类型,string、char*、const char*等)-爱代码爱编程

目录 类型 转换 全部代码 文章适用于已经学了C++语言,对C++类型有一定了解的朋友。对类型转换进行总结,包括内置类型,string,以及由c语言引入的一些类型。 类型 内置数据类型字节范围char1 个字节-128 到 127 或者 0 到 255unsigned char1 个字节0 到 255signed char1 个字节-128 到

图-欧拉图(欧拉环游/回路、欧拉迹/通路、Hierholzer算法、Fleury算法)-爱代码爱编程

目录 概念 欧拉迹/通路(一笔画) 半欧拉图 环游 欧拉环游/回路 欧拉图 欧拉定理 推论 Hierholzer 算法 作用 内容 时间复杂度 图 代码 截图 Fleury算法 作用 内容 时间复杂度 图 代码 截图 概念 欧拉迹/通路(一笔画) 通过图中每条边且行遍所有顶点的迹(每条边恰一次的途径),称为

二叉树-存储硬盘目录及文件,显示文件大小,tree命令模仿(含全部代码)-爱代码爱编程

目录 前言 树转二叉树 全部代码 结果截图 前言 在cmd命令中有一个tree命令来显示目录及文件,类似下图: tree命令显示 树转二叉树 目录及文件结构(左)及二叉树保存(右) 其中,大写字母的表示目录,小写字母的表示文件。根据左孩子右兄弟的规律,目录下有文件或目录则有左孩子,文件没有左孩子,

最小生成树-kruskal算法详解(含全部代码)-爱代码爱编程

目录 适用条件 测试所用图 算法步骤 Kruskal算法代码 全部代码 实验结果 与Prim算法对比 适用条件 加权连通图(可以判定图是否连通) 测试所用图 与 最小生成树-Prim算法详解(含全部代码) 所用图相同,就是课本上的。 算法步骤 1.对边按权重排序为e1、e2、... 2.若已选择V-1条边,停止。否则,按边

最小生成树-prim算法详解(含全部代码)-爱代码爱编程

目录 适用条件 测试所用图 算法详解 Prim算法代码 全部代码 实验结果 适用条件 加权连通图 测试所用图 所用原图及生成过程 其中,(a) 为原图,圆圈里面是节点的名称,边上的数字是边的权值。由实线连接的点就是集合U,即生成树在生成过程中加入的点。由虚线连接的点中不包含在集合U中的就是集合V

图-弗洛伊德(floydwarshall)算法详解(含全部代码)-爱代码爱编程

目录 适用条件 基本操作函数 功能实现函数 测试使用图 算法讲解 初始化 迭代 弗洛伊德算法代码 全部代码 实验结果 最短路径算法比较 适用条件 图中可以有负权,但不能有负圈(圈中弧或边的权值之和小于0) 基本操作函数 InitGraph(Graph &G)             初始化函数 参数:图G 作用:初始

图-贝尔曼福特(bellman-ford)算法详解(含全部代码)-爱代码爱编程

目录 适用条件 基本操作函数 功能实现函数 测试使用图 算法讲解 初始化 迭代 贝尔曼福特算法代码 全部代码 实验结果   适用条件 图中可以有负权,但不能有负圈(圈中弧或边的权值之和小于0) 基本操作函数 InitGraph(Graph &G)             初始化函数 参数:图G 作用:初始化图的顶点表

图-迪杰斯特拉(dijkstra)算法详解(含全部代码)-爱代码爱编程

目录 适用条件 基本操作函数 功能实现函数  测试所用图 算法讲解 初始化结果 变化过程 迪杰斯特拉算法代码  全部代码 实验结果 适用条件 图中不存在负权边。 基本操作函数 InitGraph(Graph &G)             初始化函数 参数:图G 作用:初始化图的顶点表,邻接矩阵等 InsertNode

树-双亲表示法(含全部代码)_lady_killer9的博客-爱代码爱编程

基本操作函数: InitTree(Tree &T) 参数T,树根节点 作用:初始化树,先序递归创建 InsertNode(Tree &T, TElemType node) 插入树的结点 参数:树T,结点node 作用:在双亲数组中插入结点,增加树的结点值 InsertParent(Tree &T, TElemType node1,

统计结点个数(双亲表示法)-北邮2013研究生复试_lady_killer9的博客-爱代码爱编程

地址:http://10.105.242.80/problem/p/92/ 92. 统计节点个数 时间限制 1000 ms 内存限制 65536 KB 题目描述 给出一棵有向树,一共有N(1<N≤1000)个节点,如果一个节点的度(入度+出度)不小于它所有儿子以及它父亲的度(如果存在父亲或儿子),那么我们称这个节点为p节点,现在你的任务是统计

c/c++进制转换方法汇总(含全部代码)_lady_killer9的博客-爱代码爱编程_c++进制转换

进制转换方法汇总表 原进制转换进制方法1方法2方法3方法4十进制二进制bitset指定格式输出 除留余数法itoa十进制八进制oct/%o指定格式输出流除留余数法itoa十进制十六进制hex/%x指定格式输出流除留余数法itoa十进制其他进制  除留余数法itoa二进制八进制三位一组   二进制十进制按权展开  strtol二进制十六进制四位一组 

无向图-基本操作函数(建立,广度遍历,深度遍历,邻接表表示)_lady_killer9的博客-爱代码爱编程

基本操作函数: InitGraph(Graph &G)             初始化函数 参数:图G 作用:初始化图的邻接表等 InsertNode(Graph &G,VexType v)  插入点函数 参数:图G,顶点v 作用:在图G中插入顶点v,即改变顶点表 InsertEdge(Graph &G,VexType v,Vex

无向图-基本操作函数(建立,广度遍历,深度遍历,邻接矩阵表示)_lady_killer9的博客-爱代码爱编程

主要函数: 基本操作函数: InitGraph(Graph &G)             初始化函数 参数:图G 作用:初始化图的顶点表,邻接矩阵等 InsertNode(Graph &G,VexType v) 插入点函数 参数:图G,顶点v 作用:在图G中插入顶点v,即改变顶点表 InsertEdge(Graph &G,Ve

二叉查找树-插入结点,返回父节点(2012北邮机试)_lady_killer9的博客-爱代码爱编程_二叉树返回父节点

题目:二叉排序树 现在给你N个关键字值各部相同的节点,要求你按顺序插入一个初始为空的二叉排序树中, 每次插入成功后,求相应的父亲节点的关键字值,如果没有父亲节点,则输出-1。 输入格式: 第一行:一个数字N(N<=100),表示带插入的节点数。 第二行:N个互不相同的正整数,表示要顺序插入结点的关键字值,这些值不超过108. 输出格式: 输出共N行,