随笔分类 -  数据结构

摘要:一、概念 排序二叉树是一种特殊结构的二叉树,通过它可以非常方便的对树中所有节点进行排序和检索。排序二叉树要么是一颗空的二叉树,要么就是具有下列性质的二叉树。 1、若他的左子树不为空,则左子树上所有节点的值均小于它的根节点的值。 2、若它的右子树不为空,则右子树上所有节点的值均大于它的根节点的值。 3 阅读全文
posted @ 2018-02-21 21:42 彩电 阅读(5213) 评论(0) 推荐(0)
摘要:一、概念 哈夫曼树又被称为最优二叉树,是一类带权(权值就是定义的路径上面的值,哈夫曼树中的权值可以理解为:权值大表明出现概率大)路径最短的二叉树。哈夫曼树是二叉树的一种应用,在信息检索中很常用 路径:树中一个节点到另一个节点之间的分支构成这两个节点之间的路径; 节点之间的路径长度(不带权):从一个节 阅读全文
posted @ 2018-02-20 17:59 彩电 阅读(1236) 评论(0) 推荐(0)
摘要:一、二叉树的概述 二、树和二叉树的区别 1、普通树中节点的最大度数没有限制,而二叉树节点的最大度数是2。 2、无序树的节点无左右之分,而二叉树的节点有左右之分,也就是二叉树的是有序树 三、满二叉树 如果它包含了2的整指数节点,就是满二叉树,满二叉树的特点是每一层上的节点数都是最大节点数,即各层节点数 阅读全文
posted @ 2018-02-19 21:44 彩电 阅读(581) 评论(0) 推荐(0)
摘要:一、概念 由于二叉树是一种比较确定的数据结构,因此操作它比较简单,但是由于一般树的结构并不固定,因此操作起来非常麻烦,我们可以将一般树转换成二叉树,以二叉树的形式来存储一般树,当程序需要一般树时,再将二叉树转换成一般树。 森林:如果将一颗一般树的根节点去掉,这棵树就变成了森林,其实森林就是有多个根节 阅读全文
posted @ 2018-02-19 20:54 彩电 阅读(1175) 评论(0) 推荐(0)
摘要:一、树的概述: 线性表、栈、队列都是线型的数据结构,该种数据结构之间的元素只存在一对一的关系,而树的结构内元素是非线性的关系,存在着一对多的关系,例如一个父节点可以包含多个子节点。 树指的是N个有父子关系的节点的有限集合,满足以下关系: 1、当N=0时,该节点集合为空,这棵树被称为空树。 2、在任意 阅读全文
posted @ 2018-02-18 20:46 彩电 阅读(264) 评论(0) 推荐(0)
摘要:线性表分为顺序表和链表; 1、顺序存储结构和链式存储结构的区别 顺序存储结构是在内存中开辟一个连续的空间用来存储数据,因此对于内存的需求和苛求,必须是连续的空间,在数据查找(特别是不按照规律排序的数据),时间复杂度较少,效率高。 链式存储结构是采取链表指针来指示数据的存储位置,这就可以是在内存中随意 阅读全文
posted @ 2018-02-17 21:15 彩电 阅读(151) 评论(0) 推荐(0)
摘要:FILO,后进先出;单向队列尾插头删;rear为尾端、front为头端。 用数组模拟,当插入时,rear索引+1;当删除时,front索引+1; 顺序队列代码: 循环队列(可以覆盖) 单向链式队列: 双向队列: JDK带的ArrayDeque:代表顺序存储结构的双向队列。 LinkedList:代表 阅读全文
posted @ 2018-02-17 13:56 彩电 阅读(131) 评论(0) 推荐(0)
摘要:基本变量的变量和值还有数组和引用变量,对象的首地址都存于栈中,数组,引用变量和对象的内容都存在于堆中。 以下是JDK自带的STACK: 以下是自己手写的栈: 找到栈中最小元素,写一个方法getMin(): 中缀转后缀:迪杰斯特拉双栈算法: 阅读全文
posted @ 2018-02-15 15:20 彩电 阅读(130) 评论(0) 推荐(0)