自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (9)
  • 收藏
  • 关注

原创 【c语言】内存分区(内存布局)

动态存储和静态存储动态储存  动态储存是指在程序运行期间根据需要进行动态的分配  函数形参,自动变量(没有用static声明的变量),函数调用时的现场保护和返回地址,对以上这些数据,在函数调用开始时分配动态存储空间,函数结束时释放这些空间,这种分配和释放,是动态的,如果在一个程序中两次调用同一个函数,则分配的局部变量的储存空间可能是不相同的静态储存  静态储存是指在程序运行期间由系统分配固定的存储空间  全局变量和静态变量(用static声明的变量)全部存放在静态存储区中,在程序开始执行时,给变

2020-06-30 19:17:42 1737

原创 【外排序】外排序算法(磁盘排序、磁带排序) 外存设备结构分析 败者树多路归并 最佳归并树白话讲解

外排序外排序概述外排序的基本方法是归并排序法例子总结存储设备(可忽略)磁带磁带结构磁盘硬盘结构块硬盘上的数据定位磁盘排序磁盘排序过程1.生成初始顺串方法1(常规方法):方法2:置换-选择排序方法2.处理顺串形成有序文件1.多路平衡归并2.利用败者树实现k路平衡归并过程利用败者树实现k路平衡归并的过程是:最佳归并树最佳归并树概念存在的问题当进行k路归并时最后进行归并的归并段小于k个构造步骤磁带排序磁带多路平衡归并排序磁带多阶段归并排序外排序概述(本章设计内容后续会具体讲解)外排序是指数据存放在外存中,数

2020-06-20 21:15:46 5291

原创 【排序算法总结】内排序算法原理

冒泡排序原理与选择排序区别:冒泡排序算法的运作如下:伪代码描述代码时间复杂度工作原理:与冒泡排序区别:代码稳定性排序过程:代码~原理伪代码代码稳定性复杂度算法描述:二分查找:代码希尔排序是基于插入排序的以下两点性质而提出改进方法的:原理算法描述伪代码代码Donald Shell增量其他增量希尔排序是不稳定的排序算法。复杂度堆的概念最大堆:最大堆中的最大元素值出现在根结点(堆顶)堆中每个父节点的元素值都大于等于其孩子结点(如果存在)最小堆:堆排序原理堆的建立和维护算法描述方法一方法二代码概念使用前提算法思路适

2020-06-17 00:19:18 453

原创 【排序算法】归并排序算法原理

归并排序概念使用前提算法思路适用场景算法描述递归法(Top-down)分而治之迭代法(Bottom-up)迭代概念  归并排序是建立在归并操作上的一种有效的排序算法。   该算法是采用分治法的一个非常典型的应用。   将已有序的子序列合并,得到完全有序的序列;  即先使每个子序列有序,再使子序列段间有序。  若将两个有序表合并成一个有序表,称为2-路归并。使用前提  有序子列的归并假设有上个表A 、B、C,将有序表A、B插入到C中设置三个指针(并非必须为指针,可以是任何可以指定位

2020-06-17 00:18:53 1500

原创 【排序算法】堆排序算法原理

堆排序堆的概念最大堆:最大堆中的最大元素值出现在根结点(堆顶)堆中每个父节点的元素值都大于等于其孩子结点(如果存在)最小堆:堆排序原理堆的建立和维护算法描述方法一方法二代码  堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。选择排序每次扫描出一个最小元素,与指定位置的元素进行互换  可以利用数组的特点快速定位指定索引的元素。  堆排序就是把最大堆堆顶的最大数取出,将剩余的堆继续调整为最大堆,再次将堆顶的最大数取出,这个过程持续到剩余数只有一个时

2020-06-17 00:17:57 838

原创 【排序算法】希尔排序算法原理

希尔排序(递减增量排序)希尔排序是基于插入排序的以下两点性质而提出改进方法的:原理算法描述伪代码代码Donald Shell增量其他增量希尔排序是不稳定的排序算法。复杂度希尔排序是基于插入排序的以下两点性质而提出改进方法的:  插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率  但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位  希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能  可以让一个元素可以一次性地朝最终位置前进一大步。  然后算法再取越

2020-06-17 00:16:57 1418

原创 【排序算法】二分插入排序(折半排序)算法原理

二分插入排序(折半排序)算法描述:二分查找:代码  对于插入排序,如果比较操作的代价比交换操作大的话,可以采用二分查找法来减少比较操作的次数,我们称为二分插入排序算法描述:  在直接插入排序的基础上,利用二分(折半)查找算法决策出当前元素所要插入的位置。二分查找:  1.找到中间元素,如果中间元素比当前元素大,则当前元素要插入到中间元素的左侧;  2.否则,中间元素比当前元素小,则当前元素要插入到中间元素的右侧。  3.找到当前元素的插入位置 i 之后,把 i 和 high 之间的元素从后往前

2020-06-17 00:16:08 1634

原创 【排序算法】插入排序白话讲解

插入排序原理伪代码代码稳定性复杂度原理  1.把待排序的数组分成已排序和未排序两部分,初始的时候把第一个元素认为是已排好序的。  2.从第二个元素开始,在已排好序的子数组中寻找到该元素合适的位置并插入该位置。  3.重复上述过程直到最后一个元素被插入有序子数组中。伪代码代码public static void insertionSort(int[] arr){ for (int i=1; i<arr.length; ++i){ int value = arr[i]; int

2020-06-17 00:15:35 113

原创 【排序算法】鸡尾酒排序算法原理

鸡尾酒排序(定向冒泡排序)排序过程:代码~  鸡尾酒排序,也叫定向冒泡排序,是对冒泡排序的一种改进。  此算法与冒泡排序的不同处在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。  他可以得到比冒泡排序稍微好一点的效能。排序过程:  1.先对数组从左到右进行冒泡排序(升序),则最大的元素去到最右端  2.再对数组从右到左进行冒泡排序(降序),则最小的元素去到最左端  3.以此类推,依次改变冒泡的方向,并不断缩小未排序元素的范围,直到最后一个元素结束代码~void S

2020-06-17 00:14:48 218

原创 【排序算法】基数排序算法原理

基数排序所谓基数排序,是指根据数据的基数(如10进制基数为10)建桶(10进制基数为10建立0~9十个桶)基数排序(Radix Sort)是桶排序的扩展算法描述算法实现所谓基数排序,是指根据数据的基数(如10进制基数为10)建桶(10进制基数为10建立0~9十个桶)基数排序(Radix Sort)是桶排序的扩展链接:桶排序计数排序时如果数据区间过大,将会造成构造数组过大浪费空间桶排序时如果数据的分布不均匀将会造成数据集中到一个桶中造成麻烦算法描述以排序数据的进制为个数,建立其基数个桶

2020-06-15 15:50:33 426

原创 【排序算法】桶排序算法原理

桶排序条件适用场景算法描述算法实现桶排序又叫箱排序,是计数排序的升级版,它的工作原理是将数组分到有限数量的桶子里,然后对每个桶子再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序),最后将各个桶中的数据有序的合并起来。计数排序是桶排序的一种特殊情况,可以把计数排序当成每个桶里只有一个元素的情况。链接: 计数排序.条件要求输入的数据必须是有确定范围的整数。适用场景桶排序可用于最大最小值相差较大的数据情况,但桶排序要求数据的分布必须均匀,否则可能导致数据都集中到一个桶中。

2020-06-15 15:13:18 801

原创 【排序算法】计数排序算法原理

计数排序条件算法描述代码计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中条件作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。算法描述找出待排序的数组中最大和最小的元素,然后建立一个数组C用于统计待排数组中最小元素到最大元素区间中每个元素出现次数统计数组中每个值为i的元素出现的次数,存入数组C的第i项;对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加);反向填充目标数组:将每个元素i放在新数组的第C(i)项,

2020-06-15 14:37:49 422

原创 【排序算法】表排序算法原理

表排序条件间接排序算法思路物理排序算法思路条件表排序的待排元素不是基本数据类型而是结构体或数据块间接排序间接排序是指在排序时并不能移动数据本身而是移动指向数据的指针(该指针不一定就是指针变量,可以是能定位到元素的任何信息,比如数组下标的序号)算法思路对于待排序列’A’,A中每个元素是关键字(对应结构体或数据块的特征信息)定义一个指针(待排序列的序号)数组作作为’表’(初始时table[i]=i)待排元素A代表的的是结构体或数据块,因为这些结构体或数据块相对来说较为庞大,所以排序时间接的

2020-06-15 14:18:12 496

原创 【排序算法】快速排序算法原理

快速排序适用场景算法描述选择基准分治法-分:分区(partition)操作分治法-治:递归算法复杂度最好情况最坏情况算法描述选择基准1.选取第一个元素为基准2.使用随机函数(rand函数或者自定义伪随机函数)子集划分子集中有元素等于基准交换不交换小规模数据处理完整代码递归控制选择基准该算法是采用分治法的一个非常典型的应用。适用场景快速排序在大多数情况下都是适用的,尤其在数据量大的时候性能优越性更加明显。快速排序是基于分治算法递归实现的,每次递归会导致进栈出栈而造成缓慢,所以小规模数据并不适合使用快

2020-06-08 18:12:34 972

原创 【数据结构】哈希表(散列表)算法原理

哈希表 哈希表定义 哈希表(Hash Table)又称散列表,是除顺序表存储结构、链接表存储结构和索引表存储结构之外的又一种存储线性表的存储结构。 哈希表(散列表)的基本概念 基本思想: 记录的存储位置与关键字之间存在对应关系 优点: 查找效率高 缺点: 空间效率低 散列方法: 选取某个函数,依该函数按关键字计算元素的存储位置,并按此存放; 查找时,由同一个函数对给定 k 计算地址,将 k 地址单元中

2020-06-06 23:37:40 4861

原创 【数据结构】B树数据结构概念与组成原理,B_树(B-树)算法

B-TreeB-Tree定义什么是外存外存磁盘结构对外存进行查找阶的概念B树性质B-树的存储结构中,结点的类型定义B-树的查找B-树的插入将关键字k插入到B-树的过程分两步完成:(1)查找该关键字的插入结点。(2)插入关键字。**分裂过程:**B-树的删除1. 在叶子结点层上删除关键字k。1.直接删除2.兄弟够借**左兄弟够借**右兄弟够借3.兄弟不够借在非叶子结点层上删除关键字k。1.若小于k的子树中关键字个数>[m/2]-1,则找出k的前驱值k',并用k’来取代k,再递归地删除k'即可。2.若大于

2020-06-05 22:54:24 3051

原创 在IDEA修改JSP文件Tomcat不用重启同步更新方法

1.首先配置tomcat2.将on ‘update’ action 和 on frame deactivation选项都选择 update classes和resources3.点击虫子标志debug运行Tomcat服务器4.修改JSP文件并保存,右键点击运行发现无需重启服务器即可实现文件同步更改...

2020-06-03 17:14:37 2384

原创 aux文件删除,找不到指定文件,文件无法删除

今天清理电脑的时候发现有个文件夹删不掉,提示说找不到该项目我就蒙了,这不久给这么,为啥找不到,然后我就进去一层一层找,发现有个文件名为aux.c的文件删不掉我就奇怪了,为什么会删不掉,然后我企图创建一个同名文件覆盖掉它,令人意想不到的事情出现了我甚至无法让新建的记事本叫做这个名字查了半天才找到原因:aux是设备名 Windows 下不能够以下面这些字样来命名文件/文件夹,包括“aux”“com1”“com2”“prn”“con”和“nul”等 因为这些名字都属于设备名称,等价

2020-06-03 14:33:37 2068

原创 Tomcat乱码问题解决,Tomcat目录文件作用

今天刚开始学jsp然后老师让下载Tomcat,但是下载完成后遇到了问题这个窗口时Tomcat安装目录下bin文件夹中的startup.bat文件,打开startup.bat文件可以启动Tomcat服务器乱码问题是因为GBK与UTF-8编码问题解决办法:找到安装目录下的conf/longging.properties,将其中的UTF-8注释掉或者将java.util.logging.ConsoleHandler.encoding = UTF-8改成java.util.logging.ConsoleH

2020-06-02 12:32:42 143

4602181《Python编程案例教程》(刘庆)

《Python编程案例教程》(刘庆)课件ppt 课后例题答案 示例代码

2021-02-12

CodeTypewriter.js

文本动态打字效果

2021-01-26

DropDown.js

仿小米下拉样式

2021-01-23

maven_repository.zip

该文件为Maven本地仓库,内含基本上所有常用的外部包,使用该仓库作为项目仓库将不用再从网上下载其中包含的Java包了

2020-09-11

Maven项目依赖.zip

Maven项目依赖内含druid.properties(阿里巴巴的德鲁伊连接池)和log4j.properties(日志)和jdbcutils.java类(在连接池的情况下获得连接)

2020-09-11

inkscape 0.92.3

Inkscape是开源的矢量图像编辑软件,与Illustrator、Freehand、CorelDraw、Xara X 等软件很相似,它使用 W3C 标准的 ScalableVector Graphics (SVG) 文件格式,支持包括形状、路径、文本、标记、克隆、alpha 混合、变换、渐变、图案、组合等 SVG特性。它也支持创作共用的元数据、节点编辑、图层、复杂的路径运算、位图描摹(根据点阵16进制色差复制绘制矢量图的算法)、文本绕路径、流动文本、直接编辑 XML 等。它可以导入JPEG、PNG、TIFF 等格式,并输出为 PNG 和多种位图格式。

2020-08-26

inkscape生成G代码插件,inkscape实心填充插件,以及插件使用教程

包含了inkscape生成G代码的插件,inkscape实心填充插件,以及插件的使用教程,教程整理为PDF格式

2020-08-21

JavaWeb开发从入门到实战课件PPT

该资源使JavaWeb开发从入门到实战课件PPT的压缩包,该课件应和高校教师课上提供基本相同,内容较为全面

2020-06-20

写字机器人原理、代码、零件清单

包含完整的零配件清单,运动原理,arduino烧录代码等信息,注:其中3D打印件可以从网上购买也可以自己找合适物品替代

2020-06-03

空空如也

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

TA关注的人

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