数据结构与算法分析
。
绿豆蛙给生活加点甜
人们总爱追问人生的意义,其实人生本无所谓意义,因为存在先于本质,本质之前的存在是禁绝思考的。人生的无意义赋予了人的自由,倘若人生有一个注定的意义,那么人人都如同一具机器。
展开
-
数据结构系列笔记——图
图 一些概念 如果在一个无向图中,从每一个顶点到每一个其他顶点都存在一条路径,则称该无向图是连通的。 具有这样性质的有向图称为是强连通的。 如果一个有向图不是强连通的,但是它的基础图,即其弧上去掉方向所形成的图是连通的,那么该有向图称为是弱连通的 完全图是其每一对顶点间都存在一条边的图。 即,对有向图来说:完全图=强连通图+弱连通图 表示图的一种简单的方法是使用一个二维数组,称为邻接矩阵表示法。 对于每条边(u,v),置A[u][v]等于true;否则,数组的元素就是false。如果为边原创 2022-03-13 13:54:46 · 1034 阅读 · 0 评论 -
数据结构系列笔记——树、二叉树
树 树的一些基本概念: 节点的度:子树的个数 树的度:所有节点度的最大值 叶子节点:度为0的节点 层数:根节点在第1层,根节点的子节点在第2层,以此类推 节点的深度:从根结点到该结点的唯一路径上的节点树 节点的高度:从当前节点到最远叶子节点的路径上的节点总数 树的深度:所有节点深度中的最大值 树的高度:所有节点高度中的最大值 树的深度等于树的高度 二叉树的一些特点 每个节点的度最大为2(最多拥有2棵子树) 左右子树是有顺序的 非空二叉树的第i层,最多有2i-1个节点 在高度为h的二叉树上最多有2h-1原创 2022-02-07 22:30:19 · 534 阅读 · 0 评论 -
数据结构系列笔记——队列
和栈不同的是,队列是先进先出的线性表,显然跟我们在现实生活中的排队并无二样 但是为了符合不同应用场景的需求,还制定了双向队列、循环队列、双向循环队列等等,我就不一一介绍了。 public class Queue<E> { private LinkedList<E> list = new LinkedList<E>(); public int size(){ return list.size(); } public bool原创 2022-02-07 18:13:35 · 151 阅读 · 0 评论 -
数据结构系列笔记——栈
栈是线性表的一种表现形式,特点是后进先出 public class Stack<E> { private ArrayList<E> list = new ArrayList<>(); public void clear(){ list.clear(); } public E pop(){ return list.remove(list.size()-1); } public void p原创 2022-02-06 23:32:47 · 270 阅读 · 0 评论 -
数据结构系列笔记——链表
LinkList package com.lanh; public class LinkList<E> implements List<E>{ private static final int ELEMENT_NOT_FOUND = -1; private int size; private Node first; private static class Node<E>{ E element; Nod原创 2022-02-05 14:52:52 · 58 阅读 · 0 评论 -
数据结构系列笔记——动态数组
数组 对java的ArrayList类进行学习 package com.lanh; import java.util.Arrays; @SuppressWarnings("unchecked") public class DynamicArray<E> { private static final int DEFAULT_CAPACITY = 10; private static final int ELEMENT_NOT_FOUND = -1; /**原创 2022-02-05 10:06:34 · 76 阅读 · 0 评论