
算法和数据结构
算法和数据结构学习整理,主要语言为Java
初叙
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA基础——递归
“递归”过程是指函数调用其本身的过程。但是函数每次在自身调用的同时会占用更多的内存空间,保存它局部变量的附加副本。如果这个进程无限持续,最终会栈溢出,导致StackOverflowError错误。 递归优点:简化程序设计,代码简单,可读性好。 缺点:逻辑复杂,空间消耗大,或者导致栈溢出。 package demo; public class Demo1026_2 { public...原创 2018-10-28 15:40:48 · 235 阅读 · 0 评论 -
数据结构(六)——链式栈和链式队列
一、链式栈 二、链式队列原创 2019-11-17 14:22:31 · 171 阅读 · 0 评论 -
数据结构(七)——串(朴素(BF)算法、)
一、串 (1)串:由零个或多个字符组成的有限序列。 串中的字符数目称为串的长度 (2)空串:零个字符的串——‘’ (3)空格串:只包含空格的串——" " 与空串的区别:空格串是有内容有长度的,而且可以不止一个空格。 (4)子串与主串:串中任意个连续字符组成的子序列称为该串的子串。 ...原创 2019-11-17 14:20:58 · 131 阅读 · 0 评论 -
数据结构(补)——单链表
一、基本实现 class Link<T> { class Entry<T> { private T data; private Entry<T> next; //头结点 public Entry() { this.data = null; ...原创 2019-11-17 14:10:34 · 146 阅读 · 0 评论 -
数据结构(三)——循环链表、双向链表
一、循环链表 在单链表中遍历链表时,判断当前结点的next为null,表示当前链表遍历完成。 循环链表:将单链表中的终端节点的指针端由null改为指向头结点,使得整个单链表形成一个环、头尾相接,即单循环链表(循环链表)。 循环链表和单链表的主要差异在于循环的判断条件上: (1)单链表:node.next == null; (2)循环链表:node.next == head; 二、...原创 2019-11-08 23:30:17 · 118 阅读 · 0 评论 -
数据结构(练习)——后缀表达式
一、需要自定义的优先级 package com_1.constant; //运算符自定义的优先级 public class Constant { public static final int PRI_ERROR = -1; //栈外左括号 public static final int PRI_LEFT_OUT = 1; //栈内乘 publ...原创 2018-12-09 16:56:35 · 1662 阅读 · 0 评论 -
数据结构(一)——单链表
一、顺序存储结构 把数据放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。 顺序表(一) 数据域:存储数据元素信息的域。 指针域:存储直接后继的域。指针域中存储的信息称为指针或链。 结点:由数据域和指针域组成数据元素的存储影像。 链表:n个结点链接成一个链表。 头指针:链表中第一个结点的存储位置。整个链表的存取必须是从头指针开始进行。 尾指针:线性链表的最后一个结点为...原创 2018-11-28 16:25:59 · 808 阅读 · 0 评论 -
数据结构(五)——队列
队列 先进先出 package work.stackAndQueue.practise_1.myUntil; public class MyQueue { public int front; public int rear; public int[] elem; private int usedSize = 0; public static int...原创 2018-12-09 16:44:41 · 109 阅读 · 0 评论 -
数据结构(四)——栈
一、栈 后进先出 package work.stackAndQueue.practise_2.myUntil; import java.util.Arrays; public class MyStack { private int top; private int[] elem; public MyStack(){ this(10); }...原创 2018-12-09 16:40:25 · 150 阅读 · 0 评论 -
数据结构(二)——单链表(环)
一、环 标题 二、创建环 //建立环 public void createLoop(){ Entry cur = this.head; while(cur.next != null){ cur = cur.next; } Entry cur2 = this.head.next.next.nex...原创 2018-11-28 16:14:38 · 910 阅读 · 0 评论