自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL基础

文章目录1. MySQL简介2. SQL1.SQL语句分类2.DCL数据控制语言1.创建用户2.给用户授权3.撤销授权4.查看权限5.删除用户3.DDL数据定义语言1.数据类型4.DML数据操作语言1.插入数据2.修改数据3.删除数据(记录)3.建表约束1.约束类型2.NOT NULL3.UNIQUE4.PRIMARY KEY5.AUTO_INCREMENT6. FOREIGN KEY4.查询语言1.单表查询2.多表查询1.等值连接与自然连接2.自身连接3.内连接4.外连接1.左(外)连接2.右(外)连接5

2021-05-22 22:59:29 154

原创 LRU算法

LRU缓存机制struct DListNode{ int key,value; DListNode* pre,*next; DListNode():key(0),value(0),pre(nullptr),next(nullptr){} DListNode(int _key,int _value):key(_key),value(_value),pre(nullptr),next(nullptr){}};class LRUCache {public: LR

2021-05-15 22:28:00 108

原创 回溯算法

文章目录1. 算法思想2. 应用1. 算法思想回溯是一个带有系统性又带有跳跃性的搜索法,其基本思想是,按照深度优先策略从根节点出发,搜索解空间树,当搜索到任意节点时,先判断结点是否包含问题的解,如果不包含,则跳过以该节点为根的子树的搜索,逐层向根节点回溯,并搜索玩根节点的所有子树才结束,而如果只求问题的一个解,则只要搜索到问题的一个解就结束。2. 应用...

2021-05-06 23:52:24 174

原创 动态规划

文章目录1. 算法思想2. 应用1. 算法思想动态规划和贪婪算法类似,也是将问题的求解过程看成一系列决策的过程。不同的是,贪婪算法中每一次根据贪婪准则做出的决策时一个不可撤回的决策,而动态规划中的每一步决策还要考虑每个最优决策序列中是否包含一个最优子序列,因此动态规划通常用于求解一个问题在某种意义下的最优解。2. 应用...

2021-05-05 19:46:41 93

原创 分而治之

文章目录1. 算法思想2. 应用2.1 归并排序2.2 快速排序1. 算法思想分而治之的思想类似于软件的模块化设计方法,它将一个大问题分解成多个小问题,然后由小问题的解获得大问题的解。通常,由分而治之算法所得到的小问题与原来的大问题具有相同的类型,因此当分解后的小问题相对而言还是较大是,可根据需要对小问题继续采取分而治之的方法来求解,由此可见,分而治之算法可通过递归方式来实现。2. 应用2.1 归并排序对n个元素进行排序:若n=1则排序终止,否则将这个序列分为两个子序列,再对每一个子序列进行排序

2021-05-05 12:57:48 153

原创 贪心算法

文章目录1. 算法思想2. 应用2.1 例1:跳跃游戏1. 算法思想贪心算法是采用逐步构造最优解的问题解决方法,即在每个阶段都做出在当前状态下看上去最优的选择,并希望通过每次的贪心选择而使最终结果是问题的最优解。其中,做出贪婪选择的依据称为贪婪准则。贪心算法并不一定保证能得到最优解,但在很多情况下确实能达到预期的结果或者与预期的效果或者最优解很接近。2. 应用2.1 例1:跳跃游戏https://leetcode-cn.com/problems/jump-game-ii/思路分析:运用贪心的思

2021-05-04 20:44:02 1183

原创 查找算法

文章目录1. 静态查找表2. 动态查找表2.1 二叉排序树2.2 平衡二叉树(AVL树)2.3 红黑树2.4 B 树2.5 B+树3. 散列(哈希)表查找3.1 散列表和散列方法3.2 常用散列函数3.3 处理冲突的办法3.4 散列表的查找分析3.5 散列表的操作1. 静态查找表2. 动态查找表2.1 二叉排序树2.2 平衡二叉树(AVL树)2.3 红黑树2.4 B 树2.5 B+树3. 散列(哈希)表查找3.1 散列表和散列方法3.2 常用散列函数3.3 处理冲突的办法3.4 散列

2021-05-01 21:34:20 339

原创 排序算法

文章目录1. 插入排序2. 交换排序3. 选择排序4. 归并排序5. 分配排序6. 其他排序7.各种内排序比较8. 外排序1. 插入排序2. 交换排序3. 选择排序4. 归并排序5. 分配排序6. 其他排序7.各种内排序比较8. 外排序...

2021-05-01 21:30:15 62

原创

1

2021-04-24 21:46:09 79

原创 栈和队列

1. 栈1.1 栈的定义栈是一种插入删除只能在表的末尾进行的线性表,其中允许插入和删除的一端称为栈顶,另一端称为栈底。先进后出,后进先出1.2栈的操作集栈的建立:template<class T>class Stack{public: Stack(int size); Stack(); ~Stack(); bool IsEmpty(); bool IsFull(); T& GetTop(); bool Push(const T& elem);

2021-04-24 10:43:56 60

原创 linux常用命令

文章目录1.关机与用户登录1.1关机命令1.1.1 reboot1.1.2 shutdown1.1.3 poweroff1.1.4 halt1.1.5 init1.2 用户登录1.2.1 命令行登录1.2.2 ssh登录2.文件操作2.1 常见的文件类型2.2 对目录文件的操作2.2.1 ls 列出文件内容2.2.2 mkdir 创建目录2.2.3 rmdir 删除空的目录2.2.4 cd 切换目录2.2.5 cp 拷贝目录或文件2.2.6 rm 删除目录或文件2.2.7 mv 移动目录或文件,也可

2021-04-22 19:35:40 70

原创 线性表

文章目录1.线性表相关1.1线性表的类型定义1.2线性表的顺序存储结构2.链表2.1单向链表2.2双向链表2.3循环链表2.4操作集1.线性表相关1.1线性表的类型定义线性表是形式为a1,a2,a3,···,an的数据对象,其中,ai是表中元素,n为表的长度,n==0,表为空,ai是ai+1的直接前驱,ai+1是ai的直接后继,a1是第一个元素,任意一个元素的直接前驱和直接后继的数量不超过1;1.2线性表的顺序存储结构线性表的顺序存储结构指的是逻辑上的顺序,在内存中他们可能并不是连续的(链表

2021-04-22 16:54:18 42

原创 06-图3 六度空间 (30 分)(C++)

06-图3 六度空间 (30 分)(C++)题目六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。图1图1 六度空间示意图“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络

2021-04-13 19:48:18 212

原创 06-图1 列出连通集 (25 分)(C++)

06-图1 列出连通集 (25 分)(C++)题目给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{ v​1 v2 v3…vk }"的格式,每行输出一个连通集。先输出DFS的结果,再输出BFS的结果。

2021-04-13 15:30:23 280

原创

树@【TOC】树#树的基本概念#二叉树及其存储结构#二叉树的遍历#二叉搜索树#二叉平衡树(AVL树)#哈夫曼树与哈夫曼编码#堆#集合及运算#红黑树

2021-04-12 20:54:15 122

原创 05-树9 Huffman Codes (30 分)(C++)

05-树9 Huffman Codes (30 分)(C++)#题目In 1953, David A. Huffman published his paper “A Method for the Construction of Minimum-Redundancy Codes”, and hence printed his name in the history of computer science. As a professor who gives the final exam problem on

2021-04-12 20:37:48 202

原创 05-树8 File Transfer (25 分) C++实现

05-树8 File Transfer (25 分) C++实现#题目We have a network of computers and a list of bi-directional connections. Each of these connections allows a file transfer from one computer to another. Is it possible to send a file from any computer on the network to a

2021-04-11 23:17:07 66

原创 05-树7 堆中的路径 (25 分) C++实现

05-树7 堆中的路径 (25 分) C++实现#题目将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H[i]到根结点的路径上的数据。数字间以1个空格分隔,行末不得有多余空格。输

2021-04-11 21:25:30 116

原创 04-树6 Complete Binary Search Tree (30 分)C++实现

04-树6 Complete Binary Search Tree (30 分)C++实现#题目A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than the node’s key.The right subtree of

2021-04-11 17:50:14 68

原创 04-树5 Root of AVL Tree (25 分)(C++)

04-树5 Root of AVL Tree (25 分)(C++)#题目An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by more than one, rebalancing is done to restore

2021-04-11 16:29:20 128

原创 04-树4 是否同一棵二叉搜索树 (25 分)(C++)

04-树4 是否同一棵二叉搜索树 (25 分)(C++)#题目给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要检查的序列个数。第2行给出N个以空格分隔的正整数,作

2021-04-11 10:46:44 110

原创 树3 Tree Traversals Again(C++)

树3 Tree Traversals Again(C++)#题目An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, the stack operations are: push

2021-04-10 23:37:50 96

原创 树2 List Leaves (C++)

树2 List Leaves (C++)#题目Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. For each case, the first line gives a positive integer N (≤10) which is

2021-04-10 21:40:27 88

原创 树1 树的同构 C++实现

树1 树的同构 C++实现#题目给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤10),即该树的结点数(此时假设结点从0到N−1编号);随

2021-04-10 14:46:06 237

原创 线性结构4 Pop Sequence C++实现

线性结构4 Pop Sequence C++实现#题目Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, if

2021-04-10 12:28:49 109

空空如也

空空如也

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

TA关注的人

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