常用集合类简单总结 发表于 2017-07-21 | 分类于 java基础 前言在没有集合之前我们都是直接用数组存放对象,但是这样操作会很不方便,于是利用数据结构封装了一些列集合,而集合中不存放输几局的基本类型,只存放对象的引用,如图(部分集合源码分析在之前的总结中已经简单研究过)java集合主要分为以下三种类型: ... 阅读全文 »
String与StringBuffer常用方法总结 发表于 2017-07-20 | 分类于 java基础 前言String与StringBuffer的区别,简单地说,就是一个变量和常量的关系。StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。 String常用方法在之前的数据结构与算 ... 阅读全文 »
Brute-Force与KMP算法 发表于 2017-07-19 | 分类于 算法 前言设有两个串:目标串target和模式串pattern,在目标串中查找与模式串pattern相等得一个子串并确定孩子串位置的操作称为串的模式匹配。而匹配的结果有两种,如果target中存在等于pattern的子串,则匹配成功,给出孩子串在 ... 阅读全文 »
冒泡与选择排序 发表于 2017-07-18 | 分类于 算法 冒泡排序算法描述:冒泡排序是一种交换排序,它的基本思想就是两两比较相邻的关键字,如果反序则交换,直到没有反序的记录为止就像冒泡一样,第一次先把最大的选出来冒到最后,依次类推,从下个继续冒最大的1234567891011public stat ... 阅读全文 »
java异常处理二 发表于 2017-07-17 | 分类于 java基础 前言通过一已经初步了解了异常的一些原理和相关性质,当然在平时写程序时被各种各样的异常类型弄得叫苦不堪 java常见异常从api文档中可以看出,java已经为我们内置了很多异常先来看看RuntimeException中常见异常 1jav ... 阅读全文 »
java异常处理一 发表于 2017-07-16 | 分类于 java基础 前言不得不说,我们平时在写程序时遇到最多的情形或者最头疼的事情就是遇到异常,然后各种调试,各种方法用尽最后才解决它,那么异常主要分为几类,每个类又有什么特征了(如图)从大的角度说主要分成两类:Error类代表了编译和系统的错误,不允许捕获, ... 阅读全文 »
二分查找 发表于 2017-07-15 | 分类于 数据结构 前言查找操作,通俗的讲,就是给定一个值key,在一个数据结构中找出关键字为key的元素。而基于线性表的查找算法有顺序查找(O(n)),二分查找和分块查找 二分查找主要用于已排序的顺序表算法描述:假定顺序表已按照升序排列,从表的中间位置开始比 ... 阅读全文 »
hash散列表 发表于 2017-07-14 | 分类于 数据结构 前言散列(hash)表是一种支持高效的查找、插入和删除操作的数据结构,它是针对查找效率接近O(1)而专门设计的。它根据元素的关键字确定元素的存储位置,而其中主要解决两个问题,设计散列函数和处理冲突 散列函数在数据元素的关键字和该元素的存储位 ... 阅读全文 »
树和二叉树 发表于 2017-07-13 | 分类于 数据结构 前言树是数据元素(结点)之间具有层次关系的非线性结构。在树结构中,除根以外的结点只有一个前驱结点,可以有零至多个后继结点,根结点没有前驱结点 基本术语1.父母、孩子、兄弟结点2.度(结点所拥有的子树数目),如A的度为33.结点的层次(结点处 ... 阅读全文 »
优先队列与递归 发表于 2017-07-12 | 分类于 数据结构 前言如果按照队列的特点,即先来先服务原则,在很多情况下不能实现相关设计,比如操作系统中的进程调度管理,就是按照优先级大小来进行调度 优先队列若一个队列中的每个元素都有一个优先级,每次出队的是具有优先级最高的元素,则称该队列为优先队列1234 ... 阅读全文 »