数据结构与算法
大学数据结构与算法知识
Apple-yeran
Stay Hungry, Stay Foolish.
展开
-
手写二叉查找树及测试
二叉查找树,即BinarySearchTree,又叫二叉排序树,手写BinarySearchTree的目的是掌握此类中相关方法的迭代(循环)实现,并着重体会递归是如何工作的,进而能用递归解决实际问题。BinarySearchTree类中相关方法:方法: boolean add(char c) 增加 boolean remove(char c) 删除 boolean contains(char c) 查找 char max() 节点的最大值 char min() 节原创 2021-08-19 22:23:12 · 227 阅读 · 0 评论 -
手写HashMap及测试
MyHashMap:/*手动实现一个HashMap(根据JDK 1.7, 数组 + 链表) 规定key和value都不能是null,但是JDK 1.7允许key和value为null。 */public class MyHashMap<K, V> { // 属性 private static final int MAX_CAPACITY = 1 << 30; // 即最大容量为2^30 private static final int DEF原创 2021-08-15 00:52:16 · 230 阅读 · 0 评论 -
彻底搞懂汉诺塔问题(递归)
汉诺塔问题描述:汉诺塔是根据一个传说形成的数学问题,有三根杆子A,B,C。A杆上有 n 个 (n>1) 穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至 C 杆:(1)每次只能移动一个圆盘;(2)大盘不能叠在小盘上面。提示:可将圆盘临时置于 B 杆,也可将从 A 杆移出的圆盘重新移回 A 杆,但都必须遵循上述两条规则。编程解决两个问题:当有n个盘子时,需要移动多少次才能完成。打印每次移动的过程。分析:第一个问题:假设A杆上的n个盘子以B杆为临时杆,移动到C杆,需原创 2021-07-24 00:18:40 · 1153 阅读 · 0 评论 -
手写Queue(顺序映像、非顺序映像),及其应用场景
文章目录1 队列的顺序映像2 队列的应用场景队列的实现有两种:顺序映像、非顺序映像,顺序映像的底层是循环数组,非顺序映像的底层是单向链表。1 队列的顺序映像import com.cskaoyan.exception.EmptyQueueException;/** * 顺序映像(底层是循环数组)实现队列,可扩容 * @author PorscheYe * @version v1.0 *//*有的教材上应用循环队列实现顺序映像结构的队列时,对于判断队空和队满: 队空:front原创 2021-07-22 23:07:15 · 611 阅读 · 0 评论 -
手写Stack(顺序映像、非顺序映像),及其应用场景
栈的实现有两种:顺序映像、非顺序映像,顺序映像的底层是数组,非顺序映像的底层是单向链表。栈的应用场景:反转括号匹配表达式求值浏览器前进后退功能深度优先遍历1 栈的非顺序映像import java.util.EmptyStackException;/** * 非顺序映像(底层是单向链表)实现栈,链表从栈顶指向栈底 * @author PorscheYe * @version v1.0 */public class MyStack { // 属性 priva.原创 2021-07-22 17:31:26 · 587 阅读 · 2 评论 -
手写LinkedList及测试
与LinkedList相关的接口有List、Iterator,本例中MyLinkedList相当于LinkedList,MyList相当于List,MyIterator相当于Iterator。MyList:public interface MyList { boolean add(String s); void add(int index, String s); void clear(); boolean contains(String s); Strin原创 2021-07-22 01:30:53 · 105 阅读 · 0 评论 -
手写ArrayList及测试
与ArrayList相关的接口有List、Iterator,本例中MyArrayList相当于ArrayList,MyList相当于List,MyIterator相当于Iterator。MyList:public interface MyList { // 自己实现List,实现的方法仅限于List中对元素操作的方法,没有实现对集合的操作方法 boolean add(String s); void add(int index, String s); void clea原创 2021-07-20 23:12:41 · 208 阅读 · 0 评论