摘要:
总结 1.循环数组队列实际能够存储最多数据长度为maxSize-1; 2.判断队列是否满的条件(rear+1)%maxSize==front; 在(rear+1)在数组索引尺寸内 直接rear+1=front或者(rear+1)%maxSize==front都可以判定满 在(rear+1)不在数组索 阅读全文
posted @ 2021-11-21 16:41
zjh1170
阅读(71)
评论(0)
推荐(0)
摘要:
最长前后缀相同表: 匹配: 当前没有匹配上的位置对应的前缀表对应的数为1,把P位置为1的位置拉带现在没有匹配成功的位置,然后继续匹配: 当前没有匹配上的位置对应的前缀表对应的数为0,把P位置为0的位置拉带现在没有匹配成功的位置,然后继续匹配: 当前没有匹配上的位置对应的前缀表对应的数为0,把P位置为 阅读全文
posted @ 2021-11-21 16:41
zjh1170
阅读(30)
评论(0)
推荐(0)
摘要:
为什么要有图 前面我们学了线性表和树 线性表局限于一个直接前驱和一个直接后继的关系 树也只能有一个直接前驱也就是父节点 当我们需要表示多对多的关系时, 这里我们就用到了图 图的举例说明 图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。 结点也可以称为顶点。如图: 图的 阅读全文
posted @ 2021-11-21 16:40
zjh1170
阅读(149)
评论(0)
推荐(0)
摘要:
对比 数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低[示意图]画出操作示意图: 链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入 阅读全文
posted @ 2021-11-21 16:39
zjh1170
阅读(63)
评论(0)
推荐(0)
摘要:
看一个案例(说明二叉排序树可能的问题) 给你一个数列{1,2,3,4,5,6},要求创建一颗二叉排序树(BST), 并分析问题所在. 上面BST存在的问题分析: 左子树全部为空,从形式上看,更像一个单链表. 插入速度没有影响 查询速度明显降低(因为需要依次比较), 不能发挥BST 的优势,因为每次还 阅读全文
posted @ 2021-11-21 16:36
zjh1170
阅读(100)
评论(0)
推荐(0)
摘要:
# 1.冒泡排序 冒泡排序(BubbleSorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。 **优化:**因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下 阅读全文
posted @ 2021-11-21 16:35
zjh1170
阅读(53)
评论(0)
推荐(0)
摘要:
基本介绍 赫夫曼编码也翻译为 **[哈夫曼]**编码(Huffman Coding),又称霍夫曼编码,是一种编码方式, 属于一种程序算法 赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一。 赫夫曼编码广泛地用于数据文件压缩。其**压缩率通常在20%~90%**之间 赫夫曼码是可变[字长]编码(VL 阅读全文
posted @ 2021-11-21 16:34
zjh1170
阅读(118)
评论(0)
推荐(0)
摘要:
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 google公司的一个上机题: 有一个公司,当有新的员工来报道时, 阅读全文
posted @ 2021-11-21 16:34
zjh1170
阅读(47)
评论(0)
推荐(0)
摘要:
分治算法介绍 1)分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快 阅读全文
posted @ 2021-11-21 16:33
zjh1170
阅读(65)
评论(0)
推荐(0)
摘要:
一棵空树,或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树; (4)没有键值相等的结点。 先看一个需求 给你一个数列 (7, 3, 10, 12, 5, 阅读全文
posted @ 2021-11-21 16:33
zjh1170
阅读(49)
评论(0)
推荐(0)
摘要:
二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树 二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如1亿), 就存在如下问题: 问题1:在构建二叉树时,需要多次进行i/o操作(海量数据存在数据库或文件中),节点海量,构建二叉树时,速度有影响 3)问题2 阅读全文
posted @ 2021-11-21 16:32
zjh1170
阅读(119)
评论(0)
推荐(0)
摘要:
应用场景-背包问题 背包问题:有一个背包,容量为4磅 , 现有如下物品 物品 重量 价格 吉他(G) 1 1500 音响(S) 4 3000 电脑(L) 3 2000 1)要求达到的目标为装入的背包的总价值最大,并且重量不超出 2)要求装入的物品不能重复 动态规划算法介绍 1)动态规划(Dynami 阅读全文
posted @ 2021-11-21 16:31
zjh1170
阅读(53)
评论(0)
推荐(0)
摘要:
{1,8, 10, 89, 1000, 1234} 二分查找的思路分析 首先确定该数组的中间的下标 mid = (left + right) / 2 然后让需要查找的数 findVal 和 arr[mid] 比较 2.1 findVal > arr[mid] , 说明你要查找的数在mid 的右边 阅读全文
posted @ 2021-11-21 16:30
zjh1170
阅读(52)
评论(0)
推荐(0)
摘要:
return;表示结束当前方法。 break;可以使流程跳出switch语句体,也可以用break语句在循环结构终止本层循环体,从而提前结束本 层循环。 package com.itheima; import java.util.Scanner; /** * @author Macrydy **/ 阅读全文
posted @ 2021-11-21 15:37
zjh1170
阅读(225)
评论(0)
推荐(0)
摘要:
1.1 Map集合概述和特点【理解】 Map集合概述 : interface Map<K,V> K:键的类型;V:值的类型 Map集合的特点 键值对映射关系 一个键对应一个值 键不能重复,值可以重复 元素存取无序 Map集合的基本使用 : //创建集合对象 Map<String,String> ma 阅读全文
posted @ 2021-11-21 15:36
zjh1170
阅读(39)
评论(0)
推荐(0)
摘要:
1.1 为什么会出现字符流【理解】 字符流的介绍 由于字节流操作中文不是特别的方便,所以Java就提供字符流 字符流 = 字节流 + 编码表 中文的字节存储方式 用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接 成中文,如何识别是中文的呢? 汉字在存储的 阅读全文
posted @ 2021-11-21 15:35
zjh1170
阅读(34)
评论(0)
推荐(0)
摘要:
1.1 IO流介绍 IO:输入/输出(Input/Output) 流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输 IO流就是用来处理设备间数据传输问题的。常见的应用:文件复制;文件上传;文件下载 IO流的分类 按照数据的流向 输入流:读数据 输出流:写数 阅读全文
posted @ 2021-11-21 15:34
zjh1170
阅读(43)
评论(0)
推荐(0)
摘要:
# 1. 递归 递归的介绍 以编程的角度来看,递归指的是方法定义中调用方法本身的现象 把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解 递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算 简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决 阅读全文
posted @ 2021-11-21 15:33
zjh1170
阅读(59)
评论(0)
推荐(0)
摘要:
1.1 Set集合概述和特点 Set集合的特点 元素存取无序 没有索引、只能通过迭代器或增强for循环遍历 不能存储重复元素 1.2 哈希值【理解】 哈希值简介 是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值 如何获取哈希值 Object类中的public int hashCode 阅读全文
posted @ 2021-11-21 15:32
zjh1170
阅读(52)
评论(0)
推荐(0)
摘要:
1.1 File类概述和构造方法【应用】 File类介绍 它是文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对象的 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的 Fi 阅读全文
posted @ 2021-11-21 15:32
zjh1170
阅读(34)
评论(0)
推荐(0)
摘要:
1.1 List集合概述和特点【记忆】 List集合概述 有序集合(也称为序列),用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素 与Set集合不同,列表通常允许重复的元素 List集合特点 有索引 可以存储重复元素 元素存取有序 /* List集合特点 有 阅读全文
posted @ 2021-11-21 15:31
zjh1170
阅读(49)
评论(0)
推荐(0)
摘要:
1.1 集合体系结构【记忆】 集合类的特点 提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变 集合类的体系图 1.2 Collection集合概述和基本使用【应用】 Collection集合概述 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素 JDK 不 阅读全文
posted @ 2021-11-21 15:29
zjh1170
阅读(34)
评论(0)
推荐(0)

浙公网安备 33010602011771号