晓的博客

设计模式 - 设计模式的原则

七大原则 单一职责原则 单一职责原则(Single Responsibility Principle, SRP): 一个类只负责一个功能领域中的相 应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。 开闭原则 开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件 实体应尽量在不修改原有代码的情况下进行扩展。...

1.在线性表中,数据元素之间是被串起来的,仅有线性关系,每个数据元素只有开一个直接前驱和一个直接后继 2.在树形结构中,数据元素之间有明显的层次关系,并且在每一层上的数据元素可能和下一层多个元素相关,但只能和上一层一个元素相关。 这两种结构只能表达一对多的关系,当遇到多对多关系,就需要图。 图是由有穷非空集合和顶点之间变得集合组成,通常表示为:G(v,e),G 表示一个图,V 是图 G 中...

赫夫曼树

赫夫曼树 树的带权路径长度:树的带权路径长度规定为所有的叶子节点的带权路径长度之和(wpl 的和),wpl 最小的树就是赫夫曼树 给定 n 个权值作为 n 个叶子节点,构造一颗二叉树,若该树的带权路径达到最小(wpl),这样的二叉树称为最优二叉树。 赫夫曼树是带权路径最短的树,权越大离根结点距离越近 构建赫夫曼树 构建赫夫曼树的思路 从小到大进行排序,每个数据看成一个节点,每个...

树与数组链表的比较 数组存储方式的分析 优点:通过下标访问元素,速度快。对于有序数组,还可以使用二分查找提高检索速度 缺点: 如果要检索具体某个值,或者插入值,会整体移动,效率低 链式存储方式的分析 优点:插入,删除效率较高 缺点:检索效率低 树存储方式分析 提高数据存储,读取的效率,比如利用二叉排序树,即保证了数据查询的效率,也保证了数据修改,插入,删除...