会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
奔跑的乌龟
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
下一页
2020年12月3日
Java数据结构(十三)—— 二叉排序树(BST)
摘要: 二叉排序树(BST) 需求 给定数列{7,3,10,12,5,1,9},要求能够高效的完成对数据的查询和添加 思路三则 使用数组,缺点:插入和排序速度较慢 链式存储,添加较快,但查找速度慢 使用二叉排序树 基本介绍 对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比
阅读全文
posted @ 2020-12-03 18:21 笔落惊风
阅读(169)
评论(0)
推荐(0)
2020年12月1日
Java数据结构(十二)—— 霍夫曼树及霍夫曼编码
摘要: 霍夫曼树 基本介绍和创建 基本介绍 又称哈夫曼树,赫夫曼树 给定n个权值作为n个叶子节点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称为最优二叉树 霍夫曼树是带权路径长度最短的树,权值较大的节点离根较近 几个重要的概念 路径和路径长度:一棵树中从一个节点往下可以达到的子节点之间的通路叫
阅读全文
posted @ 2020-12-01 14:12 笔落惊风
阅读(380)
评论(0)
推荐(0)
2020年11月29日
Java数据结构(十一)—— 堆及堆排序
摘要: 堆 堆基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,最坏,最好,平均时间复杂度都是O(nlogn),不稳定的排序 堆是具有以下性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值称为大顶堆 小于或等于左右孩子节点的值称为小顶堆 堆排序 基本思想 将待排序的序
阅读全文
posted @ 2020-11-29 17:36 笔落惊风
阅读(181)
评论(0)
推荐(0)
2020年11月28日
Java数据结构(十)—— 树
摘要: 树 树的概念和常用术语 常用术语 节点 根节点 父节点 子节点 叶子节点:没有子节点的节点 节点的权:节点的值 路径:节点A到节点B的路径 层 子树 树的高度:最大层数 森林:多颗子树构成森林 二叉树概念 每个节点最多只有两个子节点的树,叫二叉树 若该二叉树是满二叉树,节点数是2^n - 1,n为层
阅读全文
posted @ 2020-11-28 14:15 笔落惊风
阅读(279)
评论(0)
推荐(0)
2020年11月26日
Java数据结构(九)—— 哈希表
摘要: 哈希表(散列) 应用场景 有一个公司,当右新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址...),当输入该员工id时,要求查到该员工索引信息 要求:不适用数据库,尽量节省内存,速度越快越好 基本介绍 也叫散列表,是根据关键码值二直接进行访问的数据结构。也就是说,它通过把关键码值映射
阅读全文
posted @ 2020-11-26 17:24 笔落惊风
阅读(222)
评论(0)
推荐(0)
Java数据结构(八)—— 查找算法
摘要: 查找算法 常用的查找算法: 顺序(线性)查找 二分查找/折半查找 插值查找 斐波那契查找 线性查找 一个数列可有序,可无序 代码实现 /** * 线性查找 * 这里是找到一个即返回 * @param arr 查找的数据数列 * @param val 需要查找的值 * @return */public
阅读全文
posted @ 2020-11-26 17:21 笔落惊风
阅读(255)
评论(0)
推荐(0)
Java数据结构(七)—— 排序算法
摘要: 排序算法(Sort Algorithm) 排序算法介绍和分类 将一组数据,依指定顺序进行排列 排序的分类 内部排序 指将需要处理的所有数据都加载到内部存储器中进行排序 外部排序 数据量过大,无法全部加载到内存中,需借助外部存储进行排序 常见的排序算法 冒泡排序(Bubble Sort) 基本思想 通
阅读全文
posted @ 2020-11-26 17:19 笔落惊风
阅读(253)
评论(0)
推荐(0)
Java数据结构(六)—— 时间复杂度和空间复杂度
摘要: 时间复杂度和空间复杂度 度量一个程序执行时间的两种方法 事后统计的方法 两个问题: 相对设计的算法的运行行能进行评测,需要实际运行程序 所得时间的通缉令依赖于计算机的硬件、软件等环境因素 事前估计法 通过分析某个算法的时间复杂度来判断那个算法更优 时间频度 一个算法花费的时间与算法中语句的执行此时成
阅读全文
posted @ 2020-11-26 17:12 笔落惊风
阅读(589)
评论(0)
推荐(0)
Java数据结构(五)—— 栈
摘要: 栈(Stack) 实际需求 计算722-5+1-5+3-3 对于计算机而言,其接收到的就是一个字符串 计算机底层如何计算获得结果? 栈的介绍 栈是一个先入后出的有序列表 栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶,另一端为固
阅读全文
posted @ 2020-11-26 17:10 笔落惊风
阅读(227)
评论(0)
推荐(0)
Java数据结构(四)—— 链表
摘要: 链表(Linked-List) 单链表 链表(linked list)有序列表,但是存储不连续 特点: 以节点形式存储 每个节点包括data域,next域:指向下一节点 链表的各个节点不一定时连续存放的 链表分带头节点的链表和无头节点的链表,根据实际需求确定 应用实例 使用带head节点的单向链表实
阅读全文
posted @ 2020-11-26 17:08 笔落惊风
阅读(196)
评论(0)
推荐(0)
上一页
1
2
3
4
下一页
公告