
算法与数据结构
Coder米
:)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Java实现栈】压栈,弹栈,扩容,降容...
import java.util.Arrays;/** * @Description: 手动实现栈 压栈 弹栈 判空 判满 * * top=1 2 * top=-1 top=0 1 top=0 1 * @Author: juwei * @Date: 2021/3/1 19:12 * @Version: 1.0 * */public class MyStack { private int top;原创 2021-03-11 11:19:14 · 374 阅读 · 0 评论 -
校验多个时间段/数值区间冲突问题,返回所有冲突的id
一、问题描述现有多个时间段如 : beginTime: 2021-02-03 10:00:00 ,EndTime: 2021-02-03 12:00:00 beginTime: 2021-02-03 14:00:00 ,EndTime: 2021-02-03 16:00:00 beginTime: 2021-02-03 11:00:00 ,EndTime: 2021-02-03 13:00:00 beginTime: 2021-02-03 15:00:00 ,EndTime: 2原创 2021-03-09 15:59:23 · 2570 阅读 · 0 评论 -
Java实现AVL(平衡二叉树)
class AVLNode<T extends Comparable<T>>{ private T data; private AVLNode<T> left; private AVLNode<T> right; private int height; // 记录节点当前的高度值 public AVLNo...原创 2020-09-03 19:01:51 · 124 阅读 · 0 评论 -
二叉树(BST树) 前序,中序,后序遍历 java实现
class BSTNode<T extends Comparable<T>>{ private T data; // 数据域 private BSTNode<T> left; // 左孩子域 private BSTNode<T> right; // 右孩子域 public BSTNode(T data, BST...原创 2020-09-03 19:00:54 · 308 阅读 · 0 评论 -
优先级队列
/** * @auther: 巨未 * @DATE: 2019/1/6 0006 10:11 * @Description: 数据结构的队列Queue和集合框架库的队列(小根堆:根节点的值小于左右孩子)不一样 * 优先级队列!(最前面的优先级最小, 插入按照优先级的高低插入 */class PrioQueue{ class Entr...原创 2019-09-06 19:23:20 · 171 阅读 · 0 评论 -
有关单链表的一些习题
/** * @auther: 巨未 * @DATE: 2018/12/28 0028 20:27 * @Description: 单链表 */class LinkDemo { class Entry { //用实例内部类写 节点 int data; Entry next;//next域为节点类型:有数据和next publi...原创 2019-09-06 19:22:08 · 300 阅读 · 0 评论 -
循环链表/双向链表
Java实现循环链表/** * @auther: 巨未 * @DATE: 2019/1/4 0004 20:12 * @Description: 循环链表 */class ClinkDemo { class Entry { int data; Entry next; public Entry() { ...原创 2019-09-06 19:19:47 · 145 阅读 · 0 评论 -
链式队列/链式栈
Java实现链式队列/** * @auther: 巨未 * @DATE: 2019/1/5 0005 20:49 * @Description: 链式队列 */class LinkQueue{ class Entry{ int data; Entry next; public Entry(){ thi...原创 2019-09-06 19:18:31 · 219 阅读 · 0 评论 -
栈/两个栈实现一个队列
Java实现/** * @auther: 巨未 * @DATE: 2019/1/5 0005 18:29 * @Description: 顺序栈*/class MyStackK { private int[] elem; private int top; public MyStackK() { this(10); } ...原创 2019-09-06 19:16:16 · 135 阅读 · 0 评论 -
队列/两个队列实现一个栈
/** * @auther: 巨未 * @DATE: 2019/1/5 20:17 * @Description: 顺序队列 */class Cqueue{ private int front; private int rear; private int[] elem; private int usedSize; //有序数据个数 private...原创 2019-09-06 19:12:49 · 139 阅读 · 0 评论 -
银行家算法概述及Java实现
一、银行家算法银行家算法是一种最有代表性的避免死锁的算法。又被称为“资源分配拒绝”法。在银行家算法中需要定义一些数据结构:1)可利用资源向量Available是个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目。如果Available[j]=K,则表示系统中现有Rj类资源K个。2)最大需求矩阵Max、这是一个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资...原创 2019-05-09 20:16:25 · 11987 阅读 · 7 评论 -
Java实现——顺序栈
栈:先进后出(在微博看到一个很形象的比喻:吃多了吐是栈,吃多了拉是队列~)1.入栈2.出栈3.得到栈顶元素class MyStack{ private int[] elem;//实现栈的大小 private int top; //当前可以存放数据的下标 public MyStack() { this(10); } p...原创 2018-12-03 22:45:12 · 321 阅读 · 0 评论 -
Java实现——KMP算法分析
KMP算法KMP算法之所以叫KMP算法是因为这个算法是由三个人共同提出来的,所以取这三个人名字的首字母作为该算法的名字。上一个博客讲了BF算法,但是已经有了BF算法来解决字符串匹配的问题,为什么还要研究出KMP算法呢?KMP算法相对于BF算法,它有一定的优点,但是并不代表KMP算法可以完全替代BF算法,在一定场景下,BF算法应用的还是很广泛。下面将解释KMP的优点:在BF算法中,如果下标i...原创 2019-02-18 01:31:05 · 569 阅读 · 1 评论 -
Java实现——BF(字符串匹配)算法
BF算法BF(朴素)算法就是普通的模式匹配算法,简单来说就是在主串str中寻找子串sub是否出现过思想:将主串str的第一个字符与子串的第一个字符进行匹配,若相等则继续比较第二个字符,若不相等,则比较主串的第二个字符与子串的第一个字符是否相等。依次比较,直到在主串str中找到和子串sub相等的字符串,得到在主串中出现的位置(下标)。举例:在主串“abcabacbabc”中寻找子串“aba...原创 2019-02-15 16:10:45 · 2645 阅读 · 0 评论 -
Java数据结构——顺序表
顺序表顺序表由一个数组和一个代表有效数字个数的整数组成。用java实现一个顺序表需要的数据结构:一个int类型的数组:int[] elem表示数组有效数据的个数: int usedSize需要的函数:判断顺序表是否为满:public boolean isFull()向顺序表中插入数据:public boolean insert(int pos,int val) →pos:下标...原创 2019-02-14 19:30:21 · 898 阅读 · 2 评论