本人第一次发帖,只是想把自己学习的知识做一个记录,在数据结构相关的内容里面大部分来自于周鹏的“数据结构--java语言版”一书,如有侵权望作者即时指出,谢谢。
工作了两年多,平时都不注意基本知识积累,或者曾经知道了,但是没有及时记录,过几个月就忘记了,现在出去找工作,很多都会问关于数据结构的知识,每次总是一知半解的回答,最终结果就是没通过面试,好的工作机会眼睁睁的看着没把握住,实在可惜,希望通过再次学习基础知识,能对java有更深的理解和认识。
所写的文章中,主要以代码为主,某些地方可能会写上我自己的体会和认识。新手发帖,写得不好,望各位大大多多指教
List接口,相信大家并不陌生,代码里面用的很多,List的接口声明。
package taxus.list;
public interface List {
//线性表大小,实际存放的元素个数
public int getSize();
//线性表是否为空
public boolean isEmpty();
//线性表是否包含元素e
public boolean contains(Object e);
//返回元素e在线性表中的序号
public int indexOf(Object e);
//将元素e插入到线性表中i号位置
public void insert(int i, Object e) throws OutOfBoundaryException;
//将元素e插入到元素obj之前
public boolean insertBefore(Object obj, Object e);
//将元素e插入到元素obj之后
public boolean insertAfter(Object obj, Object e);
//删除线性表中序号为I的元素,并返回
public Object remove(int i) throws OutOfBoundaryException;
//删除线性表中第一个与e相同的元素
public boolean remove(Object e);
//替换线性表中序号为i的数据元素e,并返回原数据元素
public Object replace(int i, Object e) throws OutOfBoundaryException;
//返回线性表中序号为i的数据元素
public Object get(int i) throws OutOfBoundaryException;
}
OutOfBoundaryException异常类
package taxus.list;
@SuppressWarnings("serial")
public class OutOfBoundaryException extends RuntimeException {
public OutOfBoundaryException(){}
public OutOfBoundaryException(String s){
super(s);
}
}
Strategy接口
package taxus.list;
public interface Strategy {
public boolean equal(Object obj1, Object obj2);
public int compare(Object obj1, Object obj2);
}
DefaultStrategy实现了Strategy接口
package taxus.list;
public class DefaultStrategy implements Strategy {
@Override
public boolean equal(Object obj1, Object obj2) {
// TODO Auto-generated method stub
return false;
}
@Override
public int compare(Object obj1, Object obj2) {
// TODO Auto-generated method stub
return 0;
}
}
只是简单的实现,并没有实际大小比较策略。
以上声明接口和实现类,是一些基本类,为后面单链表,双链表,连接表服务。
那些具体的性能分析和神奇的公式没贴出来,一是公式不好写,二是看不懂。
分享到:
相关推荐
数据结构--线性表--思维导图.pdf
数据结构-----JAVA类集学习之-------线性表.pdf
在众多数据结构当中,线性表是最简单、也是最...本实验相对比较简单,通过本实验,对顺序表基本操作及 其组合应用的演练,加深对线性表顺序存储方法及其基本操作的理解,为以后进一步学习更 复杂的数据结构打下基础。
本程序的主要目的在于帮助同学熟练掌握线性表的基本操作在链式存储结构上的...通过本实验, 对链表基本操作及其组合应用的演练,加深对链表存储方法及其基本操作的理解,为以后进 一步学习更复杂的数据结构打下基础。
数据结构--线性表PPT学习教案.pptx
数据结构-线性表-单链表的查找、插入、删除.doc
数据结构-线性表输入-输出-插入-删除-查找.doc
数据结构练习题-第二章--线性表-习题及答案.doc
数据结构实验-线性表基本操作.doc
串、栈、队列的区分度在于数据的运算和逻辑结构,而他们的存储结构常用的都是顺序表和链表。 广义表和数组都是更抽象的线性表,数组对数据元素要求更严苛,广义表则是放开了数据元素的限定。他们都可以是递归定义,...
本文件里包括了数据结构中线性表的相关基础知识,适合初学者学习
数据结构-第2章-线性表.doc
桂电数据结构实验一-线性表.doc
数据结构实验报告,线性表顺序存储结构的操作及其应用 包括实验过程,实验目的,实验总结等详细内容,仅供大家学习交流!
这是数据结构中C语言版部分线性表的学习记录,有关动态在我的博客里有对应。方便大家参考。
数据结构线性表学习笔记总结 线性表-顺序存储-链式存储-循环链表-双链表 知识点总结-代码实现
数据结构 线性表PPT学习教案.pptx
主要讲解了 线性表的一些知识。很适合数据结构的学习者使用
C++ 数据结构线性表-数组实现 线性表的数组实现,实现几个核心的功能,语言是C++,如果有更好的想法和意见,欢迎留言~~~ /* Author : Moyiii * 线性表的数组实现,仅作学习之用,当然如果 * 你想拿去用,随你好啦...