`
shine-J
  • 浏览: 5652 次
文章分类
社区版块
存档分类
最新评论
文章列表
对词频统计的实践 这次的实践是由一道面试题引出:找出长篇文章中出现最多的单词。 最开始想到的方法是用map,每个单词为key值,单词出现的次数为value值,但是这样做法虽然简单,但是效率并不是很高。 之后又通过上网搜索和实践,使用了树形结构来统计每个单词出现的次数。   树的根节点为root,树中每个节点都有属性count会记录对应路径上的字符个数,路径则是从根节点指向其26个子节点的指针(每一条路径代表一个英文字母)。比如文章为“apple,apple,honey”,则第一个字符为a,那通过之前的算法,就在根节点root下创建一个孩子树,且将”根节点“转移到存有字符a的路径上指向的子节点, ...
哈希表浅谈   哈希表通俗来说是将数据以某种规则计算来取到一个关键值key,然后查找时直接通过关键值key直接找到数据,这样平均情况下时间复杂度为O(1)。但是因为规则并不是万能的,所以会使得不同的数据得出的关键值一样,产生冲突。解决冲突的方法有两种,一个方法是为冲突关键字在哈希表中寻找另一个位置,称开放寻址法,一个方法是把在相同位置的所有关键字都存储在一个“挂”在那个位置上的数据结构中,称封闭寻址法。   以我自己做过的例子来说,比较熟悉第二个方法中采用挂链法。具体实现方法是结合数组和链表,相当于创建一个链表数组,之后根据数据情况来设置规则,求出对应的关键值,然后进行存储。如果有两个或多个数 ...
数组队列: 先说说数组的优缺点,优点是存储和访问速度很快,但缺点是数组每次只能存储固定类型的数据,且长度固定。而数组队列所实现的原理是可以存储不同类型的数据,并且长度是可变的,这样就可以弥补数组的缺点。 数组队列的具体实现: 首先是定义类,该类对数组大小的改变进行封装的类。定义属性,方法。 代码实现: 创建类,声明数组,定义属性,写构造方法。 public class ArrayList<E>{ //声明一个数组 private Object array[]; private int size=0; //构造方法 public ArrayList(){ a ...
链表与数组的区别 数组队列的实现原理是:创建一个数组时,都会开辟新的内存空间,让数组名存储这块                   内存的首地址; 链表的实现原理是:借助于对象名中存储的是地址。 链表:存储空间不是连 ...
数组 知识点: 数组的定义:  一维数组  数据类型 数组名[] =new 数组名[] 二维数组也是如此 数组的长度: 一维 :  数组名.length 二维:   数组名.length,得出行数 数组名[].length   其中方括号中要写上是哪一行的,这样得出列的数 数组的赋值 可以把值一一赋上,也可以用for循环语句来定义数值,还可借助random来定义随机数值。 练习: 实现2048,将数据存储到数组中 这里是要声明两个不同类型的数组 //声明一个Image类型的数组 Image a[]=new Image [2]; //声明一个二维数组,用来存储Image类型的下标 in ...
接口和事件 定义接口的关键字:interface,且接口可以继承接口,所用的关键字还是extends 接口可以规定一个类的基本形式:方法名,参数列表及返回类型,但不能写方法主体。 接口中的数据成员默认为static静态的,和final终结的(不可更改的)。 所以说接口只提供形式,而无实施的细节。 接口中的所有方法都是抽象的,关键字为abstract 接口的实现: 关键字implements 且实现接口必须实现接口中的所有抽象方法。 一个类可实现多个接口,以此来实现多继承。 事件 事件源:所有的图形界面控件(容器,元素) 你的动作发生在哪一个控件上,那么该控件就是事件源对象。 事件监听器的方法 ...
类的继承 牢记的知识点: 子类继承父类关键字extends,且Java只支持单继承,要想多继承的话要靠接口实现。 子类继承的是父类的所有属性和方法,但是子类不能直接访问父类中的继承的私有属性和方法,可以使用的是public和protected方法。 若是子类对从父类继承来的属性重新定义,则从父类那继承的属性被隐藏,方法覆盖也是如此。 若想要访问隐藏的父类域,两个方法,1是调用从父类继承的方法。2使用super.域名。 方法重写 1.返回值类型 方法名 参数 不变 2.访问修饰符 可以由小写大(私有<没法重写> 默认 保护 共有)                           ...
类和对象 在课上自己认为重要需要记得知识点: 对象必须是一个具体的物体或具体的事(具体!!) 其次,对象还有行为,在类中是用方法来描述 方法则分为普通方法和构造方法 普通方法中常用get( )方法和set( )方法,前者是 ...
Global site tag (gtag.js) - Google Analytics