自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(177)
  • 资源 (1)
  • 收藏
  • 关注

转载 C++笔试题之求完全二叉树叶子节点数

一、树的定义树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。树具有的特点有:(1)每个结点有零个或多个子结点(2)没有父节点的结点称为根节点(3)每一个非根结点有且只有一个父节点(4)除了根结点外,每个子结点可以分为多个不相交的子树。树的基本术语有:若一个结点有子树,那么该结点称为子树根的“双亲”,子树的根称为该结点的“孩子”。有相同双亲的结点互为“兄弟”。一个结点的所有子树上的任何结点都是该结点的后裔。从根结点到某个...

2021-03-06 10:58:21 809

转载 十大经典排序算法(动图演示)

0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。0.2 算法复杂度0.3 相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。 不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 .

2021-02-09 09:35:50 215

转载 Pycharm一直报No module named ‘requests‘错解决办法

前言:如果想直接看答案的,下拉到最后查看这个问题折腾了2天,终于弄好了。查找了网上的各种解说,有的情况也不是适用我这个版本按照下面的步骤进行:1、首先检查是否安装了requestsl安装命令:pip install requests如果出现了Requirement already satisfied 代表安装成功l或pip list 显示安装这里都可以查看到我已经安装了。但是就是提示没有这个模块。2、系统含有多个版本的Python注意:如果电脑有...

2021-01-30 18:54:19 3035

转载 CODEVS 1029 二叉树遍历(已知前序和后序遍历,求中序遍历的可能的序列数)

题目描述Description 我们都很熟悉二叉树的前序、中序、后序遍历,在数据结构中常提出这样的问题:已知一棵二叉树的前序和中序遍历,求它的后序遍历,相应的,已知一棵二叉树的后序遍历和中序遍历序列你也能求出它的前序遍历。然而给定一棵二叉树的前序和后序,你却不能确定其中序遍历序列,考虑如下图中的几棵二叉树: 所有这些二叉树都有着相同的前序遍历和后序遍历,但中序遍历却不相同。输入描述Input Description 输入文件共2行,第一行表示该树的前序遍历结果...

2021-01-16 14:52:58 277

转载 树、二叉树(完全二叉树、满二叉树)概念图解

1、树的定义树是n个结点的有限集合,有且仅有一个根结点,其余结点可分为m个根结点的子树。2、树的概念结点的度:一个结点拥有子树的个数称为度。比如A的度为3,C的度为2,H的度为0。度为0的结点称为叶子节点(D,F,G,H)。树的度是树中所有结点的度的最大值,此树的度为3。 树中结点的最大层次成为树的深度或高度。此树的深度为4。 父节点A的子结点B,C,D;B,C,D也是兄弟节点 树的集合称为森林.树和森林之间有着密切的关系.删除一个树的根结点,其所有原来的子树都是树,构成森林.用一个结

2021-01-16 14:49:13 1936

转载 选择排序

选择排序也是一种简单直观的排序算法。它的工作原理很容易理解:初始时在序列中找到最小(大)元素,放到序列的起始位置作为已排序序列;然后,再从剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。注意选择排序与冒泡排序的区别:冒泡排序通过依次交换相邻两个顺序不合法的元素位置,从而将当前最小(大)元素放到合适的位置;而选择排序每遍历一次都记住了当前最小(大)元素的位置,最后仅需一次交换操作即可将其放到合适的位置。#include<iostream>

2021-01-04 22:56:43 150

转载 希尔排序

希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。本文会以图解的方式详细介绍希尔排序的基本思想及其代码实现。基本思想  希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。  简单插入排序很循规蹈矩,不管数组分布是怎么样的

2021-01-04 16:52:14 153

转载 直接插入排序

直接插入排序(straight insertion sort),有时也简称为插入排序(insertion sort),是减治法的一种典型应用。其基本思想如下:对于一个数组A[0,n]的排序问题,假设认为数组在A[0,n-1]排序的问题已经解决了。 考虑A[n]的值,从右向左扫描有序数组A[0,n-1],直到第一个小于等于A[n]的元素,将A[n]插在这个元素的后面。  很显然,基于增量法的思想在解决这个问题上拥有更高的效率。直接插入排序对于最坏情况(严格递减的数组),需要比较和移位的次数为n(n

2021-01-04 16:21:35 289

转载 快速排序

转自:C++经典排序算法总结假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放在6的左边,类似下面这种排列:3 1 2 5 4 6 9 7 10 8在初始状态下,数字6在序列的第1位。我们的目标是将6挪到序列中间的某...

2021-01-03 14:45:40 123

原创 判断点P是否在ABC内

给定三角形ABC和一点P(x,y,z),判断点P是否在ABC内,给出思路并手写代码#include<iostream>#include<algorithm>#define ABS_FLOAT_0 0.0001using namespace std;// 求三角形的面积// 根据向量求三角形的面积double funAreaTriAngle(double dAx, double dAy, double dBx, double dBy, double dCx, d

2021-01-02 18:27:33 264

转载 【C++】冒泡排序算法实现与性能优化

简述重复进行相邻数组元素的两两比较,并按规则进行交换,直到没有元素再需要交换。最终使得大的元素逐渐沉到数列底部,相较小的元素浮现到数列前端。算法描述1 比较相邻两个元素,如果第一个比第二个大,就交换位置。2 从第一对开始,对数组中的每一对相邻的两个元素重复步骤1,使得最大的元素沉到数组底部。3 重复步骤2,除了底部已经排序好的元素。(每一趟都会多一个以排序好的元素)4 重复以上步骤直到排序完成算法分析最好:T(n)=O(n);数据全部正序最差:T(n)=O(n^2);数据全部反序

2021-01-02 18:24:22 138

原创 远亲不如近邻

题目链接时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 256M,其他语言512M热度指数:1372题目描述牛牛最近搬到了一座新的城镇,这个城镇可以看成是一个一维的坐标系。城镇上有n个居民,第i个居民的位置为a_iai​。现在牛牛有m个搬家方案,在第i个方案中他会搬到位置x_ixi​。俗话说的好,远亲不如近邻。现在牛牛想知道,对于每个搬家方案,搬家后与最近的居...

2020-05-05 06:22:22 616

原创 不用加减乘除做加法

class Solution {public: int Add(int num1, int num2) { while(num1&num2) { int tmp1=num1; int tmp2=num2; num1 = (tmp1&amp...

2019-03-31 17:34:33 185

原创 二进制中1的个数

解法一:class Solution {public: int NumberOf1(int n) { int i = 0; int sum = 0; while (i < 32) { if (n&(1 << i)) ...

2019-03-31 08:37:00 206

转载 Linux 平台 gcc 和动态共享库的基础知识

对大多数不从事Linux平台C语言开发的人来说,GNU gcc的一套工具和Linux平台的共享库的使用还是十分陌生的,其实我也不太熟悉,姑且写点基础知识,权当做备忘吧。一、GNU gcc的编译工具用法我们先来写一个简单的C程序:hello.c#include &lt;stdio.h&gt; void print_hello() { printf("Hell...

2019-03-17 10:18:43 195

转载 湖南省第八届大学生计算机程序设计竞赛获奖名单

来源:http://jsjxy.usc.edu.cn/info/2058/2379.htm一、团体奖第一名:中南大学第二名:国防科技大学第三名:湖南工业大学第四名:湖南科技大学第五名:湖南大学第六名:怀化学院第七名:湖南师范大学第八名:湖南人文科技学院二、优秀组织奖湖南工业大学湖南文理学院湖南理工学院三、单项奖1、一等奖:13个 ...

2019-03-11 15:50:00 4252 1

转载 湖南省第九届程序设计大赛队伍排名和学校排名

湖南省第九届大学生程序设计竞赛队伍排名

2019-03-11 15:38:36 870

原创 二分查找源码

#include&lt;iostream&gt;#include&lt;map&gt;#include&lt;vector&gt;#include&lt;algorithm&gt;using namespace std;#define SortNum 10bool Fun(vector&lt;int&gt; &amp;vectNum, int nFindNum){ i...

2018-10-06 19:35:26 330

转载 忘记mysql root用户密码的解决办法(skip-grant-tables)

skip-grant-tables顾名思义,数据库启动的时候 跳跃权限表的限制,不用验证密码,直接登录。注意:这种情况只有在忘记root密码 不得已重启数据库的情况下使用的。现网环境慎用,需要重启数据库,并且安全性也比较难以保证。1.修改配置参数 /etc/my.cnf在[mysqld] 下面加上:skip-grant-tables配置项。2.重启mysql...

2018-09-04 08:53:31 5004

转载 gdb-为程序设置运行的参数

有三种方法可以指定程序运行的参数,第一种方法是在命令行上直接指定;第二种方法是通过run命令提供程序运行时的参数;第三种方法是通过set args命令指定程序的参数第一种方法:为程序传递参数5root@guo-virtual-machine:~/debug# gdb --args factorial 5第二种方法:为程序传递参数5(gdb) run 5123第三种方法:为程序传递参数5(gdb...

2018-06-28 17:02:37 2099

转载 如何判断一个文本文件内容的编码格式 UTF-8 ? ANSI(GBK)

如何判断一个文本文件内容的编码格式 UTF-8 ? ANSI(GBK)转自:http://blog.csdn.net/jiangqin115/article/details/42684017UTF-8编码的文本文档,有的带有BOM (Byte Order Mark, 字节序标志),即0xEF, 0xBB, 0xBF,有的没有。Windows下的txt文本编辑器在保存UTF-8格式的文本文档时会自动...

2018-06-14 15:38:40 4169 1

转载 mfc最详细入门教程

以下是我从其他网站中学的内容,后有相应的网站学习链接地址,可供学习1.选择菜单项File-&gt;New-&gt;Project,弹出“New Project”对话框。 2.左侧面板中Installed Templated的Visual C++下选择MFC,中间窗口中选择MFC Applicat...

2018-04-17 11:39:23 2105

转载 linux下vim中文乱码的解决方法

在vim中编辑一个中文文本时,有时候看起来有乱码,以前都是修修补补的弄没有乱码了就不管了,这个问题一直都很困扰我。突然想到这个问题,于是想把它给解决掉,在网上查了许久,有很多这方面的资料,但是说得不是很到位,经过了一天的折腾,将vim卸载了很多次,也安装了很多次,并做了一些小测试,今天终于搞定了。 1、下载   可到http://www.vim.org/下载最新的7.3版本的vim源码。 2、安装...

2018-04-10 14:30:37 375

转载 Vim 分屏功能+无插件Vim编程技巧

本篇文章主要教你如何使用 Vim 分屏功能。分屏启动Vim使用大写的O参数来垂直分屏。vim -On file1 file2 ...使用小写的o参数来水平分屏。vim -on file1 file2 ...注释: n是数字,表示分成几个屏。关闭分屏关闭当前窗口。Ctrl+W c关闭当前窗口,如果只剩最后一个了,则退出Vim。Ctrl+W q分屏上下分割当前打开的文件。Ctrl+W s上下分割,并打...

2018-04-10 14:10:07 617

转载 curl不能支持https问题

默认情况下,libcurl不支持https, 如果使用https链接,就会出现" Protocol https not supported or disabled in libcurl" 的错误提示。查看curl是否支持https可以使用命令:curl -V。解压:# tar -zxvf curl-7.49.0.tar.gz# cd curl-7.49.0# ./configure 这里注意的是最...

2018-04-03 14:06:24 1026

转载 linux下编译安装curl

1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 (1)cd curl  (2)./buldconf 3.编译生成curl (1) ./configure  (2) make  (3)  make install 4.在src下生成了curl   (1) /curl -V 如果出现下述命令:1 ...

2018-04-03 10:32:42 1837 1

转载 inux命令中which、whereis、locate有什么区别?

locate命令不是实时查找,所以查找的结果不精确,但查找速度很快。which命令是查找命令是否存在,以及命令的存放位置在哪儿。whereis命令只能用于搜索程序名,而且只搜索二进制文件locatelocate命令不是实时查找,所以查找的结果不精确,但查找速度很快。因为它查找的不是目录,而是一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这...

2018-04-03 09:16:10 309

原创 CreateFileMapping调用失败,GetLastError返回值为1006

CreateFileMapping 创建的映射文件长度为0时,返回空指针(NULL)。GetLastError返回值为1006:文件所在的卷已被外部更改,因此打开的文件不再有效。

2018-03-30 11:33:17 2119

转载 Windows Error Reporting保存Crash Dump文件

1、Crash Dump文件Crash Dump(后缀名为:.dmp)文件是进程的内存镜像,可以把程序运行时的状态完整的保存下来,是调试异常程序重要的方法,所以程序崩溃时,除了日志文件,dump文件便成了我们查找错误的最后一根救命的稻草。 2、在Windows中使用Windows Error Reporting保存Crash Dump文件产生Crash Dump文件的方法不止这一种,这里我介绍这种...

2018-03-29 11:36:22 4313

转载 Libcurl使用入门教程

原文地址:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html译者:JGood(http://blog.csdn.net/JGood )转载自:http://blog.sina.com.cn/s/blog_72995dcc01014dr1.html译者注:这是一篇介绍如何使用libcurl的入门教程。文档不是逐字逐句按原文翻译,而是根据笔者对lib...

2018-03-29 10:07:10 413

转载 beyond Compare 4使用方法(试用期过期和右键快捷键)

试用期到期操作1、找到beyond Compare 4文件夹下面的BCUnrar.dll,将其删掉或者重命名,再重新打开接着使用!转载至:http://blog.csdn.net/sinat_37320521/article/details/78210636右键快捷对比操作1、下载最新的Beyond Compare软件 2、安装时选择资源器上下这个选...

2018-03-27 13:49:12 6035

转载 回调函数详解

版权声明请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。  一,回调函数我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制...

2018-03-22 11:34:24 1078 1

转载 Qt - QDialog,QWidget实现模态及非模态

在Qt中QDialog为“窗口”,而QWidget为“部件”,首先还是了解下《Qt 窗口与部件的概念》。对于 QDialog 的模态及非模态是直接可以实现的,很多课本中都会提到,此处总结下。模态QDialog方式一:QDialog dlg(this);dlg.exec();方式二:QDialog *pDlg=new QDialog(this);pDlg-&gt;setModal(true);pDl...

2018-03-16 17:17:17 457

转载 Qt Charts入门指南

简述Qt Charts 的横空出世标识着 QWT、QCustomPlot …… 时代的终结,是时候向他们做一个简单的告别了。Qt Charts - 强大并极具吸引力,从现在开始,让我们顺势拥抱灿烂的明天 。简述安装配置基本示例入门指南基本用法QChartView QChartQGraphicsScene QChart安装配置Qt5.7 中已经集成了 Qt Charts 模块,关于 Qt 的安装...

2018-03-14 15:30:14 2388

转载 mybase7.0激活方法

1、右键--属性,如下图: 2、进入myBase.exe所在的目录;3、打开myBase.ini;4、找到属性设置 Lic.FirstUseOn ,可通过 Ctrl + F 输入 First , 快速查找;5、删除Lic.FirstUseOn(在编辑配置文件时,要保证mybase是关闭的)6、重启mybase,可以正常使用了。...

2018-03-14 10:49:15 4956 1

转载 Qt的内存释放策略(内存自动释放机制)

原文地址:http://www.cnblogs.com/foxhengxing/archive/2010/12/24/1916355.html很多C/C++初学者常犯的一个错误就是,使用malloc、new分配了一块内存却忘记释放,导致内存泄漏。Qt的对象模型提供了一种Qt对象之间的父 子关系,当很多个对象都按一定次序建立起来这种父子关系的时候,就组织成了一颗树。当delete一个父对

2018-01-17 18:26:28 8040

转载 oracle dbf文件更换目录

随着oracle运行时间的推移,数据库文件存储所在磁盘空间越来越小,我们需要将部分数据库dbf移植到其他有空间的磁盘。按照如下步骤进行:1、sqlplus登录oracle此处请使用sqlplus system/admin@orcl as sysdba进行登录,防止之后shutdown时提示无权限,指定特定tns防止多个数据库实例时选择有误。2、执行shutdown immediat

2017-12-04 17:38:10 1330

转载 内存分配粒度vs内存分页大小

分配粒度:表示每次请求内存的时候最小给分配多少,比如32位操作系统基本上每次分配的是64K大小。分页大小:表示的是页面的大小,32位操作系统是4K是内存管理的最小单位。例如:假设你要请求6k = 4K + 2K的空间,操作系统会一次分配64K的空间放着,又因为内存最小操作单位是4K,所以实际上给你分配了8K=4K + 4K,剩下的56K放着有需要了再给你。

2017-11-24 10:44:33 1957

转载 如何解决未经处理的win32异常

在安装完Visual Studio经常会遇到一个问题是,在打开IE或浏览网页的时候,都会出现XXXXX发生了未经处理的win32异常,还调Visual Studio用户要么启动实时调试,用户要么启动实时调试,要么忽略该异常.非常麻烦,网上也讲了好多解决办法?什么在visual studio(工具-选项-调试-实时-把右边那些本机\脚本\托管)这些钩都去掉?我试过了还是一样?  下面解决办法是:

2017-11-19 15:31:06 9753

转载 windows下使用VS编译libIconv库

libiconv是将一种编码格式转换为另一种编码格式的跨平台开源库,http://www.gnu.org/software/libiconv/可以查看支持转换的编码类型。但是libiconv 的开发者并没有发布windows下的源码和库,要想在windows下使用libiconv 库,必须自己手动把libiconv 移植到windows平台,具体步骤如下:1、去http://ftp

2017-11-14 13:37:37 1397

Linux平台gcc和动态共享库的基础知识dd

一、Linux 平台 gcc 和动态共享库的基础知识 1)GNU gcc 的编译工具用法 2)动态共享库怎么使用 3)关于 Linux 的动态共享库的设置 二、GCC——C 程序是如何编译成的 三、GCC 使用详解

2019-03-18

空空如也

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

TA关注的人

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