自定义博客皮肤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)
  • 收藏
  • 关注

原创 【排序算法】----详解归并排序算法

1.归并排序原理,首先将数组递归的分解,直到达到终止条件返回,然后将分成两段的数组,进行比较,按从小到大的顺序放在临时数组里,然后将这一段排好顺序的数组复制给原来的数组,继续返回上一层,进行排序。直到完全完成递归。图解2.代码展示#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h&g...

2020-03-31 15:13:34 272

原创 【排序算法】----详解直接选择排序算法

1.直接选择排序思想:通过一次遍历,找出最大值,和最小值,储存它们的下标,然后将最小值和首位交换,然后将最大值和末位交换,然后将首位向后移动一位,末尾向前移动一位。然后直到首位和末尾相遇时停止,前面为小,后面为大。数组就有序了。2.代码展示#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib....

2020-03-28 13:57:16 1816

原创 【排序算法】----详解希尔排序算法

1.希尔排序希尔排序实际上是一种插入排序的优化,希尔排序的目的是先进行预排序,使数组更加的有序,将需要排序的数组分成n/gap个大小为gap的子数组,对子树组进行插入排序。当gap等于1时,就相当于直接插入排序了。例如: 9 8 7 6 5 4 3 2 1 排升序直接插入排序需要 45次用希尔排序2.代码展示#define _CRT_SECURE_NO_WARNINGS 1#i...

2020-03-27 16:42:10 419

原创 【排序算法】----详解堆排序算法

1.堆排序算法(1).原理堆排序是一种选择排序,通过实现大小堆,来取出堆顶的数据,然后和最后一个交换,然后将堆的大小减一,循环这个过程直到,只有一个数据时停止。升序建大堆,降序建小堆。(2).问题:很多人会疑惑为什么要交换之后再减小堆的大小呢?难道不交换就不能筛选出我们要的极值吗?首先向下调整算法的时间复杂度为O(log n )数据一共是n个先交换再减小,堆的结构变化不大,我们只...

2020-03-26 19:17:50 2289

原创 【排序算法】----详解直接插入排序算法

1.直接插入排序算法。单趟排序:我们以升序为例子,简单来说就是将大数放到靠右边的位置,我们将第一个数作为当前数arr[end],将下一个数储存起来tmp=arr[end+1],然后比较下一个数和当前数的大小arr[end]?tmp,如果比当前数小,那么我们将当前数赋值给下一个数arr[end+1]=arr[end]。依次移动赋值,直到比end前面的某个数大时,停止,然然后将储存起来的数赋值给原...

2020-03-26 17:33:12 396

原创 指针的理解与使用---总结1

1.指针是什么?指针实际是一个变量,只不过这个变量是存的地址,我们通过这个变量可以找到以它为地址的内存单元。2.为什么一字节(byte)是8bit?1bit 就是一个二进制位1byte = 8bit实际上是来源于ASCII码表,需要表示最少128个字符,所以要用8个bit位来表示。地址存放东西的时候也要以字节为最小单位。32位地址中,指针需要4个字节。64位指针为8个字节。3....

2020-03-26 12:09:45 344

原创 【数据结构】模拟实现无头单向非循环链表(内含对指针的详细理解)

1.链表概念链表在逻辑上是线性的,但是在物理存储的过程中,不一定是线性的,它通过指针实现连续存储数据元素。结构:2.代码展示SList.h#define _CRT_SECURE_NO_WARNINGS 1#pragma once#include<stdio.h>#include<stdlib.h>#include<assert.h>// ...

2020-03-26 00:47:39 198

原创 JSP基本语法

1.注释 在网页源码中可以显示,发送到客户端<%-- JSP注释–%> 在网页源码中不可显示,没有发送到客户端//Java注释 在网页源码中不可显示,没有发送到客户端2.JSP表达式<%= 变量/表达式/返回值%><%=name+","+msg%>作用:将内容所运算的结果输出给客户端3.JSP程序段<% Java代码%>...

2020-03-25 18:56:59 157

原创 【数据结构】模拟实现顺序表

1.概念及结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:静态顺序表:使用定长数组存储。动态顺序表:使用动态开辟的数组存储。2.代码展示SeqList.h#define _CRT_SECURE_NO_WARNINGS 1#pragma once#include<stdio.h...

2020-03-23 15:45:32 153

原创 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。

1.给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。2.代码展示/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * s...

2020-03-20 15:59:21 2276 1

原创 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。

1.题目描述编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。输入描述:输入包括1行字符串,长度不超过100。输出描述:可能有多组测试数据,对于每组数据,输出将输入字符串建立二叉树后中...

2020-03-20 15:55:59 8583 4

原创 给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。

1.给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。2.代码展示/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode...

2020-03-19 16:22:33 504

原创 电脑自动修复失败无限重启解决办法win10

1.写在前面的话1.首先希望大家都有一个备份的意识,当电脑第一次出现问题时,你查了各种方法费尽九牛二虎之力修好,一定要设置一个系统还原点,这样以后电脑坏掉还有的救。2.非必要情况,不要强制关机。3.不要自己拆电脑,如果要拆一定要先断电源,是取下电池,不是拔插头。2.解决办法1.先进BIOS页面看看启动项对不对,然后用你的第一启动项启动,如果还是进不去,就看看自己的启动盘都在不在,排除启动...

2020-03-19 14:56:35 11429 3

原创 给定一个二叉树,返回它的 后序 遍历。

1.给定一个二叉树,返回它的 后序 遍历。2.代码展示/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; *//** * Note: The r...

2020-03-17 15:55:23 519

原创 给定一个二叉树,返回它的中序 遍历。

1.给定一个二叉树,返回它的中序 遍历。2.代码展示/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; *//** * Note: The ret...

2020-03-17 15:50:24 1194

原创 给定一个二叉树,返回它的 前序 遍历。

1.给定一个二叉树,返回它的 前序 遍历。示例:2.代码展示/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; *//** * Note: T...

2020-03-17 15:31:57 853

原创 虚拟机不联网以及x-shell连接问题

1.首先你得保证你的VM是可以上网的,再去尝试x-shell和虚拟机连接。如果VM不能上网,就先看看服务里面的是否都在运行。根据网上的教程,不能上网的,很多人都是服务里面的进程被禁止运行了。2.然后再去设置net模式3.能够联网之后,输入ifconfig,把下图中的ip复制一下。4.打开X-shell,新建,复制进去,然后5.然后把用户名和密码输入,(虚拟机里面创建的用户名和...

2020-03-13 13:09:41 824

原创 给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。

给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。示例 1:输出:[0,2,1,-6,6,-7,9,1,2,0,1]输出:true解释:0 + 2 + 1 = -6 + 6 - 7 + 9 + 1 = 2 + 0 + 1示例 2:输入:[0,2,1,-6,6,7,9,-1,2,0,1]输出:false示例 3:输入:[3,3,...

2020-03-12 10:58:53 574

原创 给定一个二叉树,检查它是否是镜像对称的。

1.给定一个二叉树,检查它是否是镜像对称的。2.代码展示/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */bool judgemirror(st...

2020-03-12 10:52:26 1330

原创 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

1.给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。2.代码展示/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode...

2020-03-11 18:49:56 957

原创 翻转一棵二叉树

1.翻转一棵二叉树。2.代码展示/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */struct TreeNode* invertTree(...

2020-03-11 18:19:17 349

原创 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。

1.给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。2.代码展示/** * Definition for a binary tree node. * struct TreeNode { * int va...

2020-03-11 11:51:02 2534

原创 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。示例 1:输入:[1,1,1,1,1,null,1]输出:true示例 2:输入:[2,2,2,5,2]输出:false2.代码展示/** * Definition for a binary tree node. * struct TreeNo...

2020-03-09 23:58:52 1445

原创 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。

1.买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 =...

2020-03-09 23:26:18 2622

原创 先序遍历 中序遍历 后序遍历 层序遍历

二叉树链式结构的遍历所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。前序/中序/后序的递归结构遍历:是根据访问结点操作发生位置命名,遍历的路径都相同,只是访问的顺序不同。NLR:前序遍历(Preorder Traversal 亦称...

2020-03-07 23:07:28 9874

原创 【数据结构】模拟实现堆

1.思路建堆首先要写一个向下调整算法,运用向下调整算法的条件是,左右子树是对应的堆,我们以小根堆为例子。写出向下调整算法之后,我们从叶子结点的双亲结点开始遍历i结点的双亲结点为 (i-1)/2i结点的左孩子为2i+1,右孩子为2i+2。(结点大小必须小于结点个数N)堆插入插入的时候首先要判断容量,不够要扩容,插入要插入到最后,然后比较插入的数据和双亲结点的大小,调用向上调整算法,使...

2020-03-02 22:16:16 253

空空如也

空空如也

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

TA关注的人

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