计算机基础
bugcode.online
路漫漫其修远兮,吾将上下而求索!
展开
-
赫夫曼编码(Java版)
目录1,赫夫曼树的介绍1.1,为什么会需要赫夫曼树1.2,赫夫曼树的构建1.3,字符传输案例2,创建赫夫曼编码2.1,赫夫曼树的节点类型2.1,将字节数组转换为赫夫曼树的节点类型2.2,创建一棵赫夫曼树2.3,构建赫夫曼编码表2.4,压缩数据2.5,压缩数据方法封装2.6,遍历操作2.7,解压缩2.7.1,将byte转换为字符串2.7.2,解压缩操作3,文件压缩3.1,文件压缩3.2,文件解压缩4,测试代码1,赫夫曼树的介绍原创 2020-11-11 12:14:27 · 1187 阅读 · 1 评论 -
数据结构-二叉树(一 链式存储)(Java版)
目录1,二叉树的介绍1.1,树的定义1.2,概念解释2,二叉树2.1,二叉树的特点2.2,二叉树的性质2.3,斜树2.4,满二叉树2.5,完全二叉树3,二叉树的实现3.1,二叉树的节点类型3.2,二叉树遍历操作(递归实现)3.2.1,前序遍历递归实现3.2.2,中序遍历递归实现3.2.3,后序遍历递归实现3.3,二叉树的遍历操作(非递归实现)3.3.1,前序遍历非递归实现3.3.2,中序遍历非递归实现3.3.3,后序遍历非递归实现.原创 2020-11-07 11:37:44 · 466 阅读 · 0 评论 -
数据结构-线性表(链表)(c++版)
目录1,单链表的基本概念与特点2, 单链表的特点3,单链表的结构定义及其方法的实现 3.1 单链表结构的定义3.2方法的基本实现3.3 单链表的插入删除操作讲解3.4 单链表的删除算法3.5 单链表的顺序访问与尾递归3.6 尾插法建立单链表(递归方法实现)3.7 头插法建立单链表(递归实现)3.8 非递归算法实现链表的头插法和尾插法1,...原创 2018-09-30 22:35:06 · 658 阅读 · 0 评论 -
数据结构-查找算法(Java版)
目录1,查找算法概述1.1,查找算法的分类1.2,查找的性能衡量指标-平均查找长度(Average Search Length,ASL)1.3,查找性能2,查找算法实现2.1,顺序查找2.1.1,顺序查找复杂度分析2.1.2,代码实现2.2,二分查找算法2.2.1,复杂度分析2.2.2,二分查找代码实现2.2.3,算法改进2.3,插值查找算法2.3.1,代码实现2.4,斐波那契(黄金分割法)查找算法2.4.1,斐波那锲查找算法原理2.4..原创 2020-11-06 21:52:29 · 713 阅读 · 0 评论 -
数据结构-哈希表(Java版)
目录1,什么是哈希表1.1,如何解决哈希碰撞问题1.2,哈希表有什么优势呢?2,链表的实现2.1,哈希表中的节点类型2.2,链表的定义2.2.1,链表的节点定义2.2.2,向链表末尾添加一个元素2.2.3,在链表中查找一个元素2.2.4,在链表中删除一个元素2.2.5,打印链表3,哈希表的实现3.1,定义一个哈希表3.2,向哈希表中添加一个元素3.3,获取元素索引3.4,哈希表的遍历3.5,在哈希表中查找一个元素3.6,在哈希表中删除一原创 2020-11-06 20:50:20 · 275 阅读 · 0 评论 -
数据结构-循环链表(三)(Java版)
目录1,什么是循环链表2,循环链表的实现2.1,循环链表节点的定义2.2,循环链表的实现2.2.1,定义一个循环链表2.2.2,向循环链表末尾添加一个元素2.2.3,打印循环链表2.2.4,根据元素值删除循环链表中的一个节点2.2.5,约瑟夫环问题的实现1,什么是循环链表循环链表是一种链式存储结构,它的最后一个结点指向头结点,形成一个环。因此,从循环链表中的任何一个结点出发都能找到任何其他结点。下面使用一张说明什么是循环链表:循环链表在逻辑上形成的是一个环,是原创 2020-11-06 20:18:33 · 436 阅读 · 0 评论 -
数据结构-双向链表(二)(Java版)
目录1,什么是双向链表?2,双向链表的实现2.1,双向链表的节点类型2.2,双向链表的实现2.2.1,定义一个双向链表2.2.2,向双向链表的末尾插入一个元素2.2.3,向双向链表的头添加一个元素2.2.4,根据索引向双向链表中任意一个位置插入一个元素2.2.5,根据元素值删除双向链表中的一个节点2.2.6,遍历双向链表1,什么是双向链表?双向链表(double linked list)是在单链表的每个结点中,再设置一个指向其前驱结点的指针。所以在双向链表中.原创 2020-11-06 19:39:24 · 329 阅读 · 0 评论 -
数据结构-单链表(一)(Java版)
目录1,什么是单链表?2,单链表的实现2.1,单链表的节点类型2.2,单链表的实现2.2.1,定义一个单链表2.2.1,头插法插入一个节点2.2.2,采用尾插法插入一个节点2.2.3,删除单链表中的一个节点2.2.4,打印出一条单链表3,关于单链表面试题目简单练习3.1,查找单链表中第k个节点3.2,单链表的反转3.3,从尾到头打印单链表3.4,合并两个有序的单链表3.5,单链表的小结1,什么是单链表?单链表 [LinkedList]:由各原创 2020-11-06 17:44:31 · 183 阅读 · 0 评论 -
linux上安装mysql.5.7.20服务
linux上安装mysql.5.7.20服务第一步:下载安装包下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads进入官网下载相应的版本即可。第二步:安装把刚才下载的安装包通过filezilla或者其他软件拷贝到linux系统下的一个目录中,在这里我把拷贝到以下目录中:2. 我把mysql安装到/usr/lo...原创 2020-03-17 22:57:13 · 316 阅读 · 0 评论 -
win10 专业版 git bash 闪退问题终极解决方案
最近开始学习使用git,但发现装上git后打开Git Bash Here总是出现闪退的情况,要不就是显示等待中,在网上找了几个解决办法,仅有下面一个解决了,所以就分享给大家供大家借鉴。http://www.cnblogs.com/ricklz/p/9216395.html另外应为从Git官网上下载Git发现非常的慢,但似乎发现即使在hosts文件中添加上对应的域名和IP下载速度依然很慢,所...原创 2019-01-11 17:06:13 · 627 阅读 · 0 评论 -
动态规划(0-1背包问题)
1,0-1背包问题描述:给定个物品和一个背包,第个物品的重量为,其价值为.背包的总容量为,问如何选取物品使得背包中所装入物品价值最大并且装入背包物品重量之和不超过背包总重量。问题分析:需要注意的是,再把物品装入背包时,每种物品都有两种选择,装入背包和不装入背包,不可以将物品多次装入背包,也不可以只装入物品i的一部分。如果我们用来表示物品,那么当=0时表示物品没有装入背包,当!=0时...原创 2018-11-22 09:34:23 · 955 阅读 · 0 评论 -
处理机的调度
1 处理机的调度层次和调度算法目标2 批处理系统中的作业调度2.1 先来先服务调度算法(first-come first-served,FCFS)描述:FCFS是最简单的调度算法,该算法可用于作业调度,也可用于进程调度,当在作业调度中采用该算法时,系统将按照作业到达的先后次序进行调度,或者说优先考虑在系统中等待时间最长的作业,而不管作业需要执行时间的长短,从后背作业队列中选择几个...原创 2018-11-16 21:07:05 · 206 阅读 · 0 评论 -
最长公共子序列(动态规划)
目录 1 子序列概念2 问题描述2.1 问题分析:2.2 动态规划求解公式2.3 算法展示2.4 求解最长序列输出1 子序列概念一个给定序列的子序列是在序列中删除若干个元素后得到的序列。在这里,首先说明子序列的概念(切记子序列非子集的概念),例如是序列的一个子序列,则序列在序列中相对应的下标为,序列和的下标都是从1开始。2 问题描述如果给定两个序列和...原创 2018-11-16 15:36:17 · 1375 阅读 · 0 评论 -
最短寻道时间优先算法(SSTF)&&扫描算法(SCAN)
最短寻道时间优先算法(SSTF)SSTF问题描述:SSTF算法选择调度处理的磁道是与当前磁头所在磁道距离最近的磁道,以使每次的寻找时间最短。当然,总是选择最小寻找时间并不能保证平均寻找时间最小,但是能提供比FCFS算法更好的性能。这种算法会产生“饥饿”现象。 1、算法思想:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。 2、优点:改善了磁盘平均服务时间。 3、缺点:...原创 2018-10-19 16:04:52 · 54454 阅读 · 0 评论 -
如何安装JAVASE平台
Java要实现“编写一次”到处运行的目标,就必须提供相应的java运行环境,既运行java程序的平台平台简介JAVA SE (j2se)称为java标准版java平台,java se 提供了标准的java Development Kit。利用该平台可以开发java桌面应用程序和低端的服务器应用程序。JAVA EE(J2EE)称为java企业版或者java企业平台。使用java ee可以...原创 2018-08-05 18:56:45 · 22958 阅读 · 1 评论