![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
FinleyHwang
Java技术修炼中
展开
-
算法(第4版)——二分查找
从今天开始使用CSDN记录学习过程,先把之前看过的内容补上。基本概念首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。...原创 2018-09-15 20:31:14 · 349 阅读 · 0 评论 -
算法(第四版)——背包
继续复习之前看过的内容......背包背包的定义 背包是一种不支持从中删除元素的集合数据类型,目的是帮助用例收集元素并迭代所有收集到的元素,也是检查背包是否为空,或者获取背包中元素的数量。背包的实现 import java.util.Iterator;//定义泛型背包类public class Bag<Item> implements Iterable<...原创 2018-09-16 19:20:41 · 401 阅读 · 0 评论 -
算法(第四版)——队列
继续复习......定义队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插...原创 2018-09-17 20:33:44 · 163 阅读 · 1 评论 -
算法(第四版)——栈
定义栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 代码实现链表实现 public class St...原创 2018-09-18 21:06:46 · 436 阅读 · 0 评论