数据结构与算法(Java)_路线版
_枸杞子_
软件工程专业学生
展开
-
数据结构与算法(Java)-001-数学知识回顾
指数对数 说明:在计算机科学中除非明确说明底,否则都是以2为底的。 级数模运算 去两个数相除取余数就是模运算,我们应该尽量少用模运算。 其它 欢迎加入交流群:451826376 更多信息:www.itcourse.top原创 2017-11-16 09:08:15 · 252 阅读 · 0 评论 -
数据结构与算法(Java)-002- Java功能复习
泛型使用1.在类名后面 <泛型名> 2.在类中直接使用 泛型名 来定义变量类型 3.在新建对象的时候,泛型名变成一个具体的类型package top.itcourse.genericity; /*原创 2017-11-16 19:52:25 · 214 阅读 · 0 评论 -
数据结构与算法(Java)-003-表
抽象数据类型 抽象数据类型(abstract data type, ADT)是带有一组操作的一些对象的集合。 抽象数据类型是数学的抽象;诸如表、 集合、图以及与它们各自的操作一起形成的这些对象都可以被看做是抽象数据类型,这就像整 数、实数、布尔数都是数据类型一样。整数、实数和布尔数各自都有与之相关的操作,而抽象数据类型也是如此。 对于集合ADT,可以有像添加(add)、删除(remove)、以及包含原创 2018-02-07 14:31:55 · 143 阅读 · 0 评论 -
数据结构与算法(Java)-004-顺序表
对表的所有操作都可以通过使用数组来实现。虽然数组是由固定容量创建的,但在需要的时候可以用双倍的容量创建。 数组的实现可以使得printList以线性时间被执行,而findKth操作则花费常数时间。 插人和删除的花费却潜藏着昂贵的开销,这要看插入和删除发生在什么地方。最坏的情形下,在位置0的插人(即在表的前端插入)首先需要将整个数组后移一个位置,空出空间来,而删除第一个元素则需要将表中的所有元素前移一原创 2018-02-07 14:33:09 · 190 阅读 · 0 评论 -
数据结构与算法(Java)-005-单链表
为了避免插人和删除的线性开销,我们需要保证表可以不连续存储,否则表的每个部分都可能需要整体移动。 链表由一系列节点组成,这些节点不必在内存中相连。每一个节点均含有表元素和到包含 该元素后继元的节点的链(link)。我们称之为next链。最后一个单元的next链引用null。 为了执行printList或find(x),只要从表的第一个节点开始然后用一些后继的next链遍历 该表即可。这种操作显然是线原创 2018-02-28 21:00:48 · 365 阅读 · 0 评论 -
数据结构与算法(Java)-006-双链表
每一个节点持有一个指向它在表中的前驱节点的链,如图所示,我们称之 为双链表(doubly linked list)。 测试代码 节点 package top.itcourse.list; /** * 双向链表节点 */ public class Node<T> { // 存储数据 private T data; // 下一节点 ...原创 2018-02-28 21:11:57 · 119 阅读 · 0 评论 -
数据结构与算法(Java)-007-JAVA COLLECTIONS API中的表
在类库中,java包含了一些基本数据结构的实现,表ADT是在Collections API中实现的数据结构之一。 COLLECTION接口 Collections API位于java.util包中,集合(collection)的概念在Collection接口中得到抽象,它存储一组类型相同的对象。下面包含了该接口的方法。 在Collection接口中的许多方法所做的工作由它们的...原创 2018-02-28 21:12:24 · 157 阅读 · 0 评论