自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 霍夫曼树——霍夫曼编码

霍夫曼编码基本介绍霍夫曼编码是一种编码方式,属于一种程序算法霍夫曼编码是霍夫曼树在通讯领域的经典应用之一霍夫曼编码广泛用于数据文件的压缩,压缩率通常在20% 到90%,通常数据的重复率越高,那么压缩率就越高霍夫曼编码是可变字长编码(VLC)的一种,由霍夫曼提出,又称之为最佳编码通讯领域中常用的编码方式定长编码对原始数据不加任何的修改,原原本本按照对应的编码集,转成二进制代...

2020-01-30 22:06:29 2370 1

原创 赫夫曼树-哈夫曼树-霍夫曼树

赫夫曼数(哈夫曼树)基本介绍定义:给定n个权值作为n个叶子节点的值,构造一棵二叉树,若该树的带路径长度达到最小,这样的二叉树称之为最优二叉树,也称之为霍夫曼树。霍夫曼树是带权路径长度最短的书,权值较大的结点离根较近。相关定义:路径:在一个树中,从一个结点往下到达另外一个结点之间的通路,称之为路径路径长度:通过分支的数目称之为路径长度。如:若规定根节点的层数为1,则从根节点...

2020-01-30 18:38:00 982

原创 二叉树——堆排序

二叉树——堆排序基本介绍堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序的算法,是不稳定排序,最好和最坏的时间复杂度都是O(nlogn)堆是具有以下性质的二叉树:每一个结点大于或等于其左右的子节点的值;或者每一个节点小于或者是等于其左右节点的值,分类:大顶堆:每一个结点大于或者等于其左右节点的值,最大值在上面。* 顺序存储的表达式:arr[i] >= ar...

2020-01-29 21:44:02 1057

原创 遍历线索化二叉树

遍历线索化二叉树常规的线索化方式采用递归地调用的方式,判定条件是当前指针的左子树是否为空代码实现: public void midOrder() { if (this.left != null) { this.left.midOrder(); } System.out.println(this); if...

2020-01-28 16:37:08 222

原创 顺序存储二叉树——线索化二叉树

顺序存储二叉树——线索化二叉树问题引入二叉树并不是每一个指针都能够都能完全被利用上,叶子节点的两个指针都没有被引用,为空。希望充分利用其所有指针,在二叉树的顺序存储结构中用其剩余指针分切指向某种遍历顺序下前驱节点和后继节点图示:在上图中所有橙色的引线即为没有指向任何对象的空指针空引用数量 n + 1,n为所共有的节点数总共的引用数量 2 * n,非空的引用数量 n - 1,每...

2020-01-28 08:41:32 513

原创 2019年在上海的最后一天,2020年新开始的一年

20192019年快过去了,这一年经历太多,还是有很多的事萦绕在我的心头。过去一年了,我以为我长大了,想开了,现在才看来,我没有!部队的生活结束了,但是我似乎还是沉浸在过去的日子里面回不来了!我不知道我出来究竟是对还是错?在里面我现在看来似乎是很舒服,我也混得很好!似乎出来我就完全没有机会了!新换的专业,求学的生活让我惊慌失措,让我措手不及!接触到考学升迁,难度之大,又让我咂舌!似乎在部队就...

2020-01-24 00:09:47 3249 4

原创 顺序存储二叉树

顺序存储二叉树基本说明从数据存储来看,数组存储方式和树的存储方式可以相互转换 数组 《------》 树要求:在遍历数组arr时,仍然可以以前序遍历,中序遍历和后序遍历的方式来完成对结点的遍历。概念顺序存储二叉树通常仅仅考虑完全二叉树第n个元素的左子节点为2 * n + 1;第n个元素的右子节点为2 * n + 2;第n个节点的父节点为(n - 1) ...

2020-01-20 11:34:09 488

原创 二叉树删除节点

二叉树之删除节点思路分析要求:如果删除的是叶子节点,那就直接删除该节点如果删除节点时非叶子节点,那就直接删除该子树思路:同单向链表的删除操作相同,仅仅找到当前节点是无法完成操作的,所以必须找到待删除节点的上一个节点首先,链表是否为。不为空,观察根节点是否为待删除结点,是那就直接置空整个树。判断当前节点的左子节点是否为空,然后判断是否为待删除结点,是就删除,退出。然后...

2020-01-19 20:46:39 1554

原创 二叉树——查找指定节点

二叉树——查找指定节点前序查找思路分析先判断当前节点是否为要查找的节点,相等就返回当前节点,作为递归中值的条件如果不相等,判断左子节点是否为空,不为空,递归前序查找如果左递归前序查找,找到该节点,那就返回该节点没找到,那就判定右子节点是否为空,不为空就进行右子节点的递归前序查找代码实现我的代码: public HeroNode preOrderSearch(int no){...

2020-01-19 00:18:25 6586

原创 二叉树

二叉树二叉树的概念定义:每个节点最多只能有两个子节点的一种形式称之为二叉树二叉树的节点分为左节点和右节点图示:满二叉树:二叉树的所有叶子节点(无分叉的节点)都在最后一层,并且总结点数为2n- 1,n为层数图示:完全二叉树:所有的叶子节点都在最后一层或者是倒数第二层,并且最后一层左边连续,倒数第二层右边连续。连续就是都是这一层的。图示:二叉树的遍历方式基本概念前序遍...

2020-01-18 16:44:10 532

原创 树结构的基础部分

树结构的基础部分为什么需要树这种数据结构数组存储方式的分析优点:通过下标方式进行访问,速度快。对于有序数组,还可以通过二分查找提高检索速度缺点:如果要对某一个中间值进行删除和修改,会造成整体的移动,效率特别低链式存储方式的分析优点:是对数组存储方式的优化,,主要是弥补删除和插入节点的弊端缺点:没有下标访问,故而在检索和查找数据方面的效率比较低树存储方式的分析...

2020-01-18 14:56:27 228

原创 用哈希表实现简单的缓存层

用哈希表实现简单的缓存层问题:有一个公司,当有新的员工来报道时,要求所有的员工信息录入电脑(id,性别,年龄,住址。。),当输入员工的id时,要求查到该员工的所有信息要求:不使用数据库,尽量节省内存,速度越快越好------使用哈希表问题分析采用数组加链表的方式实现哈希表建造三各类,Employ{int id,String name},EmployLinkedList{Employ ...

2020-01-17 15:00:23 522

原创 哈希表(散列)

哈希表(散列)基本介绍哈希表又称之为散列表,根据关键码值(key value)直接进行访问的数据结构。原理:常规的查找数据通过遍历或者是比较,为减少此类步骤的出现,发明了散列技术:散列技术是在记录的存储位置和他的关键字之间建立一个确定的对应关系f,是的每一个关键字key对应一个存储位置f(可以)。对应关系 f()称之为散列函数,又称为哈希函数。将关键值的存储在一块连续的...

2020-01-17 11:46:52 221

原创 查找算法——斐波那契查找法(黄金分割法)

查找算法——斐波那契查找法(黄金分割法)基本介绍:斐波那契中除去第一项的相邻的两项比值近似为黄金分割点的比值。在二分法的基础上,中点的确定采用黄金分割点的定义来求得。黄金分割点的定义:其中一部分的比值与全程的比值等于另一部分与这部分的比值,即:a / (a + b) = b/ a。原理讲解:中间点采用公式 mid = left + F(k - 1) -1;left...

2020-01-16 16:03:15 1134

原创 查找算法——插值查找

查找算法——插值查找基本介绍:插入算法是采用了自适应mid的二分查找,更加快速原理介绍:将二分查找中求mid索引的公式变成:mid = left + (key -arr[left]) / (arr[right] - arr[left]) * (right - left),其中key为所需要查找的值。将key待查找值与总长度作比较,然后转化成对应的索引长度。弥补二分查找的缺陷:当用二分法查找...

2020-01-16 11:20:19 266

原创 查找算法——二分查找

查找算法——二分查找简单介绍:对有序数组,通过递归,不断进行折中,直到其中间值等于所需要查找的数字思路分析:确定该数组的中间下标,mid = (left + right) / 2然后将需要查找的数与中间值mid进行比对- 比中间值大,那就再以中间值mid为left,right为right进行同样的折半查找- 比中间值小,那就再以中间值mid为right,left为left进行同样的...

2020-01-16 09:57:37 321

原创 查找算法——顺序查找

查找算法——顺序查找常用的查找算法顺序查找(线性查找)二分法查找/折半查找插值查找斐波那契查找顺序查找/线性查找算法简单介绍:按照数据自身的顺序,从前往后查找,一旦找到数据就返回下标。代码实现: package seqsearch;public class SeqSearch { public static void main(String[] ar...

2020-01-15 19:13:03 284

原创 排序算法——总结

排序算法——总结常用排序算法对比排序算法平均时间复杂度最好时间复杂度最坏时间复杂度空间复杂度稳定性冒泡排序O(n2)O(n)O(n2)O(1)稳定选择排序O(n2)O(n2)O(n2)O(1)不稳定插入排序O(n2)O(n)O(n2)O(1)稳定希尔排序O(n log n)O(n log2 n)O(n log...

2020-01-14 20:34:46 166

原创 排序算法——基数排序(Radix Sort,可以关注一下思维方式,由最初的一步,到最后的递归构成)

排序算法——基数排序(Radix Sort)基本介绍:基数排序属于分配式排序(distribution sort),又称桶子法(bucket sort),是桶排序的扩展。是一种稳定性的排序。基本原理是将整数按位数切割成不同的数字,然后按每个位数分别进行比较。思想分析:将所有待比较的数值统一为同样的数位长度,数位短的在前面补零。然后从最低位开始,依次进行一次排序。当从最低位一直排到最高位以后,...

2020-01-14 20:08:56 355

原创 排序算法——归并排序(动态演示和静态演示,包含代码生成和简化的过程)

排序算法——归并排序基本介绍:mergeSort,是利用归并的思想实现的排序算法,该算法采用经典的分治策略,简而言之就是用递归实现分治,分:是将大的问题分成一些小的问题,然后进行递归求解,治:是将分的阶段得到的答案,整合在一起,得到最终的答案。代码实现:教程代码: public static void mergeSort(int[] arr,int left,int rig...

2020-01-14 14:58:58 416 1

原创 排序算法——快速排序

排序算法——快速排序基本介绍:快速排序是对是对冒泡排序的一种改进。思想分析:通过一趟排序一其中一个属为标准,将要排序的数据分割成独立的两部分,该数左边的比该数要小,该数右边的比该数要大;然后再左边的数中,在选择个数为标准,接着分,右边亦是如此。如法炮制,直到将所得数分完,将整个数据变成有序数列。思路分析图:个人思考:左右分别便利递归,但是你怎么知道左右两边的数是否一致。在移动的过程中...

2020-01-13 17:24:15 251

原创 排序算法——希尔排序

排序算法——希尔排序简单介绍:希尔排序属于插入排序,是对简单插入排序算法的改善,又称之为缩小增量排序基本思想:把数组按照记录下表进行分组,分为(数组长度/2)个组,然后对每组进行插入排序,然后再合并,分成(数组长度/2/2)个组,然后在对每组进行分组,在合并,依此类推,直到仅仅只剩一组。图解:代码实现:我的代码:教程代码:...

2020-01-12 21:27:17 1059

原创 排序算法——插入排序

排序算法——插入排序基本介绍 :插入排序属于内部排序,是对于欲排序的元素已插入的方式寻找该元素的适当位置,以达到排序的目的。思路分析:把n个待排序的元素看成是一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含 n - 1 个元素。排序过程中,每次从无序表中选出第一个元素,把它按照排序码依次与有序表元素排序码进行比较,将他插入到有序表中的适当位置,使之成为新的有序表代码实现...

2020-01-11 20:53:32 345 2

原创 选择排序法

选择排序法基本介绍:排序算法属于内部排序,每一次大排序都是选择出对应的最小或者最大的,放在对应的位置。依此类推,从而达到排序的目的。选择排序的思想第一次,从整个数组中选择最小项和数组的第一项交换第二次,从剩下的数组的中选出最小的,和第二个交换第三次 。。。。第n - 1次,从最后两个选取出最小项放在对应位置大排序次数 < 数组元素总长度 - 1;小排序次数 &...

2020-01-10 21:02:19 264

原创 交换排序——冒泡排序(Bubble Sorting)

冒泡排序法基本介绍:如果想让待排序列从小到大排序,就对待排序列从前到后,依次比较相邻的元素的值,若发现逆序(前一个比后一个大)就交换,使值较大的元素逐渐从前向后移动,就像水底下的气泡一样逐渐上冒图解冒泡排序法的总结:总共有n个元素,大排序排n - 1次,每一次大排序中的小排序次数依次递减优化,当某一次排序中未有任何元素的顺序改变,那就退出循环,不必排序每一次都确定最后一个...

2020-01-10 15:28:26 508

原创 时间复杂度和空间复杂度

时间复杂度度量程序执行时间的两个方法事后统计,根据算法的实际运行时间来分析问题* 过度依赖计算机的硬件设施,无法体现出算法的优越性* 需要程序完全运行才能比较,花费过多时间事前估算,根据算法的时间复杂度来计算时间频度T(n)1.基本介绍:* 一个算法中语句执行的次数称之为时间频度 *一个算法花费的时间与算法中语句执行的次数成正比例,即那个算法执行的语句次数越多,那就花费时间越...

2020-01-10 13:05:57 227

原创 八皇后--递归回溯算法--二维数组实现

二维数组实现八皇后问题约定生成8x8的棋盘,用0表示未放的位置,1表示皇后的位置代码实现package queen;public class TwoDimension { //定义一个二维的棋盘 public static int[][] board = new int[8][8]; public static int[] queen = new int[...

2020-01-10 09:29:19 857

原创 递归--八皇后问题(回溯算法)

递归–八皇后问题(回溯算法)问题:在8x8的国际象棋的棋盘上摆八个皇后,使其不能够互相攻击。即任意两个皇后不能够处在同一行,同一列,或者是同一斜线,问有多少种摆法?92思路分析第一个皇后放在第一行的第一列第二个皇后从第二行第一列开始放,然后判断可不可以,可以,就放第三个皇后,也从第三行第一列开始放;不可以在换下一个位置,在判定放第三个皇后,还是从第三行的每一列开始放,找到正确位置,开...

2020-01-10 08:40:10 385

原创 递归之迷宫回溯问题

递归之迷宫回溯问题用二维数组表示迷宫用1表示围墙以及障碍物,用2表示该点已经走过,经过该点,同时2表示的是该条路径是通路用3表示该点也走过,但是该条路径是死路走迷宫是给点一个选择路径的方向基本代码:package maze.migong;public class Maze { public static void main(String[] args) { ...

2020-01-08 16:45:54 1129 1

原创 初识递归--基本概念和方法

递归(Recursion)定义:方法自己调用自己,每一次调用传入不同的变量。递归有助于编程者解决复杂的问题,同时让代码变得更加简洁递归调用规则当程序执行到一个方法时,就会开辟一个独立的栈空间。每个空间的数据(局部变量),是相互独立的,不会相互影响,打印问题。独立的局部空间和变量如果方法中使用的是引用类型的变量,就会共享该引用类型的数据,共用的空间。递归必须包含推出递归的条件,避免...

2020-01-07 19:29:54 317 1

原创 中缀表达式转后缀表达式

中缀表达式转后缀表达式分析思路初始化两个栈,运算符栈s1和存储中间结果的栈s2从左至右扫描中缀表达式遇到操作数时,将其压入s2遇到运算符时,分为一下三种情况:如果s1为空,或者栈顶运算符为(,左括号,则直接将其入栈如果其优先级比s1栈顶的优先级要高,那就压入s1如果其优先级比栈顶的优先级低,那就把栈顶的运算符弹出,压入s2,在根据新的栈顶运算符比较判断,直至压入栈内遇到...

2020-01-07 17:39:02 280

原创 逆波兰计算器

逆波兰计算器输入逆波兰表达式,使用栈stack计算器结果思路分析:根据题目所给的后缀表达式,从左到右,计算。遇到数字,入栈,遇到符号,栈弹出两个数运算,结果入栈,一直运算到最右边的数字代码实现: package stack;import java.util.ArrayList;import java.util.List;import java.util.Stack;pub...

2020-01-04 16:52:02 179

原创 前缀(波兰表达式)、中缀、后缀(逆波兰表达式)表达式

前缀表达式 (波兰表达式)1.前缀表达式 是运算符在操作数的前面,如;(3+4)* 7-5化为前缀表达式:-* +34752. 求值步骤:从右往左扫描,数字按照5743的顺序压入栈中遇到+,弹出两个数(栈顶元素3和次顶元素4),进行运算结果为7,然后将结果7压入栈内接下来遇到 * 弹出最上面的两个元素7和7,运算,结果为7* 7为49,将49压入栈内。最后运算- ,弹出两个数,49和...

2020-01-04 15:23:27 588

原创 多位数运算表达式回顾

我的复习代码:package stack;public class Calculate2 { public static void main(String[] args) { //中缀表达式的计算思路 String expression = "72*4-51+12/4"; //建造两个栈,分别为数栈和符号栈,用于存放数和符号 ...

2020-01-04 11:53:56 339

原创 栈之上节习题--多位数字的表达式计算

用栈来实现多位数的表达式计算代码实现我的想法:用两个数组来装,把String直接用正则表达式划分为对应的数组然后转成整型代入计算我的代码:package stack;public class Calculater { public static void main(String[] args) { String expression = "7235*12...

2020-01-03 23:11:30 263

原创 栈和字符串算术表达式的计算

栈的介绍栈(stack),是先入后出的有序列表栈是限制线性表中的元素插入和删除仅仅只能够在同一端进行的特殊线性表。变化的一端称之为top,不变的一端称之为buttom。入栈push,添加元素,最先放入的元素在栈底,最后放入的元素在栈顶。出栈pop,删除元素,最后放入的元素最先删除,最先放入的元素最后删除。从栈顶开始操作栈的应用子程序的调用:再跳往子程序之前,会将下一个指令的地址...

2020-01-03 21:44:26 414

原创 环形链表介绍以及约瑟夫问题

约瑟夫问题具体内容:设编号为1到n的n个人围坐成一圈,约定编号为k(k是1到n之间任何一个数)的人开始报数,数到m的那个人出列,他的下一位又从1开始报数,数到m那个人又出列,依此类推,直到所有人出列,产生一个出列编号的序列解决方法:数组取模的环形运算单向环形链表单向环形链表单链表与循环链表的区别循环链表是头尾相接的单链表,单链表的终端结点指针端由空指针指向头结点遍历的判断条...

2020-01-02 21:36:04 266 1

原创 双向链表的定序插入

双向链表的定序插入代码实现:我的代码: public void addByteOrder(Hero hero){ Hero temp = head; if(head.next == null){ temp.next = hero; hero.pre = temp; } boole...

2020-01-02 16:02:32 468 5

原创 假期结束,接着来吧!双向链表

双向链表双向链表与单向链表的比较单向链表查找方向只能是一个方向,双向链表的可以向前也可以向后单向链表是不可以自我删除的,需要靠辅助节点,并且总要找到待删除节点的前一个结点,双向链表是可以自我删除的常规操作双向链表的尾部添加思路分析找到双向链表的最后节点,同单向链表的遍历方式temp.next = new nodenew node.pre = temp;尾节点的后继指针后指...

2020-01-02 15:02:45 275 1

大恒相机C++开发说明文档

大恒相机C++开发说明文档

2023-07-28

高级软件测试课程汇报+现代软件工程设计汇报+课程报告PPT+讲稿去看一下博客内容

ppt还有讲稿内容,可以去对应的链接找,可以关注csdn博主,客院载论,高级软件测试。 论文翻译链接:(34条消息) 论文翻译——Test Selection for Deep Learning Systems_客院载论的博客-CSDN博客

2023-06-11

变异测试工具mujava的相关jar包

变异测试工具mujava的相关安装包,包括对应的jar包,openjava和junit三个安装包。一般来说如果有异常,最好看看是不是对应的安装包不同。

2023-01-13

前沿技术报告_物联网.doc

计算机前沿技术的小论文,有助于个人参考,直接交了都行,不存在会出现查重的,基本上没事

2021-08-01

oracle数据库实验,截图加上具体的分析

oracle数据库管理所有实验报告,从实验一到实验十,截图和具体的说明

2021-05-22

实验.zip,总共八个实验,除了最后一个大作业,这个也是不一样的,所以就没有

大数据实验报告,包含相关的资源,是个很不错的资源的,希望是对你有帮助,但是不希望你有害处,不要用来直接交作业,不要用来直接交作业,不要用来直接交作业

2021-01-17

汇编实验,包括截屏,结果分析

汇编实验,包含相关的资源,是个很不错的资源的,希望是对你有帮助,但是不希望你有害处,不要用来直接交作业,不要用来直接交作业,不要用来直接交作业

2021-01-17

图像处理实验-邻域平均化-图像二值化-噪声去除-均衡化

图像处理实验-邻域平均化-图像二值化-噪声去除-均衡化,包含相关的资源,是个很不错的资源的,希望是对你有帮助,但是不希望你有害处,不要用来直接交作业,不要用来直接交作业,不要用来直接交作业

2021-01-17

多媒体技术实验报告-图片处理-图片解压缩-GIF制作-视频播放-MP3播放器

多媒体技术实验报告-图片处理-图片解压缩-GIF制作-视频播放-MP3播放器,包含相关的资源,是个很不错的资源的,希望是对你有帮助,但是不希望你有害处,不要用来直接交作业,不要用来直接交作业,不要用来直接交作业

2021-01-17

linux实验报告,包含各项基本配置和服务器搭建的流程,以及异常处理

服务器搭建、内核编译、网络环境配置、ftp搭建、基本的文件创建,linux的安装和创建、java程序的安装

2020-11-14

计算机专业英语讲稿和ppt

专业英语展示刚结束,虽然准备很久,准备了好几天,想好好地讲一下,让人眼前一亮。熬了好几天的夜,背讲稿,看论文。结结果上去讲话就蒙了,我发现我一点都不记得了。借此纪念一下

2020-11-03

数据结构C++版.emmx

暂时关于数据结构暂时只有一小部分,但是关于C++是整理完全的。自己只学完java般的数据结构,C++版本的正在学,等以后再打个包全部发出。

2020-10-28

三弦摆动实验报告大物的.7z

里面有你需要的实验报告的全部的内容,图片,数据处理,完整的实验报告.

2020-05-22

大物实验绪论原卷.7z

东华大学大学物理上绪论原卷,附带答案,免费下载,我刚刚做过!麻烦关注,再下资源。五十个字好过,我只能凑了!考的我挺慌得,挺急的,不过还好,毕竟提前都编写过程序,用python直接输入数据出结果。

2020-05-06

Python.xmind

课堂笔记,思维导图,还请下载xmind软件自行打开,若需要别的格式,还请留言。北京大学慕课陈斌教授的python课,加上一些自己的整理。五十个字好长啊

2020-05-01

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

TA关注的人

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