03 2019 档案
摘要:1.用数组结构实现大小固定的队列和栈? 2.实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返 回栈中最小元素的操作。 【要求】 (1).pop、push、getMin操作的时间复杂度都是O(1)。 (2).设计的栈类型可以使用现成的栈结构。 3.如何仅用队列结构实现栈结构? 队列的前面n个数进
阅读全文
摘要:1.非基于比较的排序,与被排序的样本的实际数据状况很有关系,所以在实际中并不经常使用 2.时间复杂度为O(N),额外空间复杂度O(N) 3.稳定的排序 4.例子:桶排序,容器,一种数据状况出现的词频。桶排序可以分为两种具体的实现:基数排序和计数排序,计数排序就是桶排序的一个具体的体现 (1)假设数组
阅读全文
摘要:1.Mapreduce是一种计算模型,将计算任务分割成多个可以在服务器集群中并行执行的任务,然后分散到一群家用的或者服务器级别的硬件机器上,从而降低成本并提供水平可伸缩性。 2.mapreduce的两个基本操作: (1)map操作:将集合中的元素从一种形式转换为另一种形式,输入的键值对会被转换成零到
阅读全文
摘要:一、java的四个基本特性 1.抽象:将一类对象的共同特征总结出来构造一个类的过程,包括数据的抽象和行为的抽象两个方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么 2.从已有类得到继承讯息创建新类的过程,提供继承信息的类称为父类(超类,基类),得到继承信息的类被称为子类(派生类),
阅读全文
摘要:一、区别: 1.Integer是int的包装类,int则是java的一种基本的数据类型; 2.Integer变量必须实例化之后才能使用,而int变量不需要实例化; 3.Integer实际是对象的引用,当new一个Integer时,实际上生成一个指针指向对象,而int则直接存储数值 4.Integer
阅读全文
摘要:https://blog.csdn.net/wumiqing1/article/details/80331535 https://blog.csdn.net/a318804626/article/details/79883475 https://www.nowcoder.com/discuss/15
阅读全文
摘要:一、数据定义: SQL数据的定义包括模式的定义、表定义、视图定义和索引的定义。 1.基本的模式定义情况如下表。 2.一个关系数据库管理系统的实例中可以创建多个数据库,一个数据库中可以建立多个模式,一个模式下面通常包括多个表、视图和数据库对象。 二、模式的定义与删除 1.定义模式:CREATE SCH
阅读全文
摘要:一、java容器 1.java容器类库中一共有两种主要类型:Collection和Map (1)Collection和Map的区别在于容器内每个槽所存储的元素的个数不同,Collection类型中,每个槽只有一个元素;Map类型中,持有key-value关联(key叫做键,value叫做值)像一个小
阅读全文
摘要:1.java是如何管理内存的? (1)java的内存管理就是对象的分配和是释放问题。在java中,程序员你需要通过new 关键字为每个对象来申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。另外,对象的释放是由GC决定和执行的。在java中,内存的分配是由程序完成的,而内存的释放
阅读全文
摘要:1.Java中的垃圾收集器相对于以前语言的优势是什么?、 (1)过去的语言要求程序员显示的分配内存、释放内存。程序在需要的时候分配内存,在不需要的时候释放内存。但是这种做法常常引起内存泄漏,即由于某种原因使得分配的内存始终没有得到释放。如果该任务不断重复,程序最终会耗尽内存并异常终止,至少使得程序无
阅读全文
摘要:1.在java的I/O结构中,RandomAccessFile是比较不寻常的类,直接继承自Object类,并不属于Streams结构的一部分。 2.读取具有很多字节流的文本文件的时候,通常使用BufferedReader。 3.java中的IO流图。 (1)java 的IO操作中有面向字节(Byte
阅读全文
摘要:1.时间复杂度为O(n^2)排序的稳定性:原序列中相同的值,在排好顺序之后,能够保证原来的相同的值相对顺序保持不变。在一个算法中,如果所有相同值,在排完序之后,值的顺序不会被打乱,那么这个算法就是稳定的。如果会被打乱,那么这个排序就不具备稳定性。 如果在相等情况下也进行交换,那么冒泡排序就不是稳定的
阅读全文
摘要:一、传值与传引用 1.不管java参数的类型是什么,一律传递参数的副本。 在thinking in java中,明确指出,如果java是传值,那么传递的是值的副本,如果java传递的是引用,那么传递的是引用的副本。 2.java中变量分为两类: (1)对于基本类型变量(int ,long,doubl
阅读全文
摘要:ubuntu apt //advanced package tool,高级包工具。 apt-get install centos yum //yellowdog updater modified. 软件源 Repository //仓库. URL //http:// .d //directory目录
阅读全文
摘要:权限 r //100 = 4 //文件 :读取内容, //文件夹:是查看文件夹的内容 w //文件 :写数据到文件 //文件夹:增删文件. //10 = 2 x //文件 : 运行程序 //文件夹: 进入该目录. // 1 = 1 权限控制涉及范围 U:user ,rwx r-x G:group ,
阅读全文
摘要:异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.Arithm
阅读全文
摘要:1.java整形变量078:在java数字里数字表达式前面加上0表示8进制,因为8进制里表示数字只有0-7,所以这里的表达式有错误。相对而言,077就是合法的,转换成10进制就是63(7*8+7=63)。 2.以下程序错误的是: short s = 1 ; s = s + 1 ; 这里s+1表示为i
阅读全文
摘要:废话不说,直接看例子 为什么会出现这两种不同的情况呢? (1)是因为java使用了中间变量缓存机制,在执行自增运算的时候,会为每个自增操作分配一个临时变量。如果是前缀加(++i)会先自加1后赋值(给临时变量),如果是后缀加(i++),就会先赋值后加1,运算最终使用的并不是变量本身,而是被赋了值的临时
阅读全文
摘要:1.问题描述: 我们将乱序的红白蓝三色小球排列成有序的红白蓝三色的同颜色在一起的小球组。这个问题之所以叫荷兰国旗,是因为我们可以将红白蓝三色小球想象成条状物,有序排列后正好组成荷兰国旗。 2.荷兰国旗问题与数组: 给定一个数组arr,和一个数num,请把小于num的数放到数组的左边,等于num的数放
阅读全文
摘要:1.原理(本次以大根堆为例进行讲解,小根堆同理): 利用大根堆(小根堆)堆顶记录的是最大关键字(最小关键字)的特性,使得每次可以将堆顶的最值取出依次放入数组中,最后得到一个依次增大(减小)的序列。 (1)大根堆堆实际上是一棵完全二叉树,其任何一个非叶节点满足: key[i] >= k[2i+1]&&
阅读全文
摘要:1.时间复杂度O(NlogN),额外空间复杂度O(1) 2.二叉树: (1)完全二叉树:要么是一棵满二叉树(满二叉树属于完全二叉树);如果不是满二叉树,那么这棵树应该是从左往右依次补齐的。 (2)通过数组来理解完全二叉树,对于节点i,在不越界的情况下左孩子的下标是2i+1,右孩子下标是2*i+2,如
阅读全文
摘要:0.经典快排:将数组最后位置的数值x作为划分值,将小于等于x的放在左边,大于x的放在右边, 让小于等于x区域的最后一个位置上放x值,如果有多个值等于x,中间区域放的什么值无所谓,左边区域最后一个数放x就可以,左边区域放小于等于x的值,右边放大于x的值,经典快排的时间复杂度和数据状况是有关系的。最好的
阅读全文
摘要:1.题目一 给定一个数组arr,和一个数num,请把小于num的数放在数组的左边,大于num的数放在数组的右边,要求额外空间复杂度为O(1),时间复杂度为O(N)。 2.题目2(荷兰国旗问题) 给定一个数组arr,和一个数num,请把小于num的数放在数组的左边,等于num的数放在数组的中间,大于n
阅读全文
摘要:1.归并排序时间复杂度为O(N*logN),额外的空间复杂度O(N)。 2.递归行为:一个数组的排序,先将左侧部分排好序,然后将右侧部分排好序,最后整体利用外排序的方式整体排好。 3.归并排序:将两个(或者两个以上)有序表合并成一个新的有序表,即把待排序的序列分成若干个子序列,在把有序的子序列合并为
阅读全文
摘要:1.递归算法的时间复杂度: master公式的使用:T(N)=a*T(N/b)+O(N^d) master公式的适用范围:划分的子过程规模是一样的情况下,只是发生了a次,这种情况下才能运用master来求解。 (1)log(b,a)>d >复杂度为O(N^log(b,a)) (2)log(b,a)=
阅读全文
摘要:1. 对数器概念和使用 (1)有一个你想要的测的方法a (2)实现一个绝对正确但是复杂度不好的方法b (3)实现对比的方法 (4)把方法a和方法b对比很多次来验证方法a是否是正确的 (5)如果有个样本使得对比出错,打印出样本分析是哪个方法出错的 (6)当样本数量很多的时候,对比测试依然正确,可以确定
阅读全文
摘要:1、原理:从整个待排序列中选出一个元素插入到已经有序的子序列中去,得到一个有序的、元素加一的子序列,直到整个序列的待插入元素为0,则整个序列全部有序。 2、思路: (1)设置监视哨r[0],将待插入的记录值赋值给r[0]; (2)设置开始查找的位置j; (3)在数组中搜索,搜索 中将第j个记录后移,
阅读全文
摘要:1.原理:每次从待排序的数据元素中选出最小(或者最大)的一个元素,存放在已排好序列的起始位置(或者末尾位置),直到全部待排序的数据元素排完。 2.思路: (1)第一趟排序,在待排序数据arr[1],arr[2]...arr[n]选出最小的数据,将其与arr[1]进行交换。 (2)第二趟排序:在待排序
阅读全文
摘要:0.如果遇到相等的值不进行交换,那这种排序方式是稳定的排序方式。 1.原理:比较两个相邻的元素,将值大的元素交换到右边 2.思路:依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。 (1)第一次比较:首先比较第一和第二个数,将小数放在前面,将大数放在后面。 (2)比较第2和第3个数,将
阅读全文
摘要:0.关于二分查找: 1.二分查找作为一种常见的查找算法,将原本的线性时间提升到了对数的范围,大大缩短了搜索的时间,但是有一个前提,那就是必须是在有序的数据中进行查找。 2.算法思想:二分查找又叫做折半查找。每次取出中间未知的值与待查的关键字进行比较,如果中间位置的关键字比待查关键字大,则在前半部分循
阅读全文
摘要:7一、linux文件 1.linux文件的扩展名:文件扩展名是文件名最后一个点之后的部分,下面列出了其中一部分 (1)压缩文件和归档文件 压缩和归档的文件扩展名及其含义如下。 .bz2:使用bzip2压缩的文件。 .gz:使用gzip压缩的文件。 .tar:使用tar压缩的文件,又称tar文件。 .
阅读全文
摘要:一、静态代码块 1.在java类中(方法中不能存在静态代码块)使用static关键字和{}声明的代码块: 2.执行时机 静态代码块在类被加载的时候就运行了,而且只运行一次,并且优先于各种代码块以及构造函数。如果一个类中有多个静态代码块,就会按照书写的顺序执行。 3.静态代码块的作用: 一般情况下,如
阅读全文
摘要:一、前言 1.对linux服务器进行管理的时候,经常要进入字符界面进行操作,使用命令需要记住该命令的相关选项和参数。vi编辑器可以用于编辑任何ASCII文本,功能非常的强大,可以对文本进行创建、查找、替换、删除、复制和粘贴等操作。 二、Linux字符界面 1.安装Fedora17系统之后,系统启动默
阅读全文
摘要:一、Linux系统下硬盘的基本知识 1.分区命名方案: (1)Linux系统使用字母和数字的组合来指代硬盘分区 (2)Linux系统使用一种更加灵活的命名方案,该命名方案是基于文件的,文件的命名格式为:/dev/xxyN,如下图所示。 (3)/dev/:这是Linux系统下所有设备文件所在的目录 x
阅读全文

浙公网安备 33010602011771号