
数据结构
键盘上的农民
键盘上的农民
展开
-
《大话数据结构》----二叉树----二叉树简单实现---初始化插入删除中序遍历算法
附.二叉树性质 在二叉树中的第i层至多有2i-1个节点(i>=1) 例如 一层1个,二层2个,三层4个,4层8个… 深度为k的二叉树至多有2k-1个节点(k>=1) 例如一层1个,二层22-1=3个,三层23-1=15个… 对任何一颗二叉树T,如果其终端节点数为n0,度为2 的节点数为n2,则n0=n2+1. (怕忘,截个图先) 具有N个节点的完全二叉树的深度为|log2n|+1 太多了.截个图… ...原创 2020-08-26 18:24:13 · 322 阅读 · 0 评论 -
《大话数据结构》----二叉树----平衡二叉树实现之旋转----带图演示,一步步逐帧顺通思路
虽然书本章节为讲解二叉树,最后还是得平衡二叉树实现. 因为树在初始化时候,涉及到左旋右旋等基本操作,要不然就是一个链表结构了 就会涉及后面的章节8.6(p314),不过早晚都要看的原创 2020-08-11 15:14:01 · 447 阅读 · 0 评论 -
《大话数据结构》----串-----String字符串匹配算法---KMP算法和求next数组(四种求法)---附书本和网上资料不一样的区别
KMP没有介绍,倒是找到了<大话数据结构>和网上资料的区别,把初学者绕的更晕,简单一句话:书本和网上公式不同造成的算法不同,从而结果不同原创 2020-08-06 00:31:34 · 369 阅读 · 0 评论 -
《大话数据结构》----串-----String字符串匹配算法---BF
串(String)匹配算法BM暴力检索.原创 2020-08-04 22:33:35 · 319 阅读 · 0 评论 -
《大话数据结构》----队列-----链表存储(单链表)实现--java
队列的链式存储结构,其实就是线性表的单链表,只不过他只能尾进头出而已,我们把它称为链队列原创 2020-08-04 17:08:40 · 243 阅读 · 0 评论 -
《大话数据结构》----队列-----数组存储(循环队列)实现--java
针对假溢出的现象,就再从头开始,也就是头尾相接的循环,我们把队列这种头尾项链的顺序存储结构称为循环队列原创 2020-08-03 23:21:56 · 534 阅读 · 0 评论 -
《大话数据结构》-----栈的应用-----四则运算表达式求值--后缀表达式
在<大话数据结构>有个计算题应用,觉得挺有意思,没想到做出来非常繁琐 不怎么建议使用到项目中,代码局限性太多了(也不知道什么项目会用到) 总之,自己敲着玩还行.别当真原创 2020-08-03 20:19:32 · 407 阅读 · 0 评论 -
《大话数据结构》----栈-----链式及数组两种存储结构实现--java
栈的数组存储结构 和 链表存储结构 实现原创 2020-08-03 14:39:19 · 189 阅读 · 0 评论 -
《大话数据结构》----线性表-----链式存储结构(双向链表)实现--java
双向链表是在单链表的每个节点中,再设置一个指向前驱节点的指针,所以在双向链表中的节点都有两个指针域,一个指向直接后继,另一个指向直接前驱原创 2020-08-02 17:59:46 · 237 阅读 · 0 评论 -
《大话数据结构》----线性表-----链式存储结构(循环链表)实现--java
将单链表中的终端节点的指针端由空指针改为指向头结点,就使得整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表原创 2020-08-02 12:33:56 · 216 阅读 · 0 评论 -
《大话数据结构》----线性表-----静态链表(数组+游标)实现-- java实现增删改查
首先我们让数组的元素都是由两个数据域组成,data和cur.也就是说,数组的每个下标都对应一个data和一个cur. 数据域data,用来存放数据元素,也就是通常我们要处理的数据; 而游标cur相当于单链表中的next指针,存放该元素的后继在数组中的下标.原创 2020-08-02 03:13:54 · 360 阅读 · 0 评论 -
《大话数据结构》----线性表-----链式存储结构(单链表)实现-- java实现
单链表不需要分配存储空间,只要有就可以分配,元素个数也不受限制 插入和删除更快,时间复杂度为O(n),在给出某位置的指针后,复杂度仅为O(1)原创 2020-08-01 00:52:31 · 331 阅读 · 0 评论 -
《大话数据结构》----线性表-----顺序存储结构(数组)实现-- java实现增删改查
顺序存储结构,用一段地址连续的存储单元一次存储线性表的数据元素。比如数组 优点: 无需为表示表中元素之间的逻辑关系而增加额外的存储空间 可以快速的存取表中任意位置的元素,时间复杂度为O(1) 缺点: 插入和删除操作需要移动大量元素 当线性表成都变化较大时,难以确定存储空间的容量 造成存储空间的"碎片" 场景 适合数量固定,读取操作多,增删改少的场景。比如C#中的数组 package ***; /** * @Author: wsh */ public class ArrayT.原创 2020-07-31 13:47:06 · 195 阅读 · 0 评论