随笔分类 - 数据结构与算法
图结构(五)------图的基本概念
摘要:图结构 邻接 图的基本概念 路径 ACBE、ACBD、ABE、ABD、ABC 有向图和无向图 带权图 这些顶点存储在数组中,然后通过邻接矩阵存储各个顶点的关系。。。。 1表示相通,0表示不通。。。
阅读全文
哈希表(四)-----介绍
摘要:哈希表也叫散列表 哈希表底层是数组(将数组中的数值下标输入自定义的散列函数中得到数据的数值) 散列函数的设计:计算简单、分布均匀 直接定址法:计算简答但是分布不均匀 数组分析法:知道数据的类型,分析选择 散列函数 平方取中法:将数值平方后取数值中间的部分 取余法:例 13%10=3 除数有讲究 (使
阅读全文
树结构(三)---- 多路查找树
摘要:B树 中所有的叶节点都在同一层 2-3树也是B树一种 有两个子节点的节点叫二节点 二节点要么有两个子节点,要么没有子节点 有三个子节点的节点叫三节点 三节点要么有三个子节点,要么没有子节点 B树::: B+树::: 应用在:MySql数据库中存储数据,使用B树和B+树。。。。
阅读全文
树结构(三)----平衡二叉树(AVL树)
摘要:将二叉排序树的的缺点优化,继承二叉排序的树的优化 左子树和右子树的高度差的绝对值不超过1
阅读全文
树结构(三)---二叉排序树
摘要:顺序存储,不排序,查找困难 顺序存储,排序,删除插入困难 链式存储:无论是否排序 查找困难 二叉排序树,又叫二叉查找树,二叉搜索树:BST 对于二叉树中的任何一个非叶子节点,要求左子节点比当前节点值小,右子节点比当前节点值大 7,3,10,12,5,1,9 1,3,5,7,9,10,12
阅读全文
树结构(三)---赫夫曼树
摘要:赫夫曼树又称为最优二叉树:它是n个带权叶子节点构成的所有二叉树中,带权路径长度最小的二叉树。 赫夫曼数=树的带权路径长度WPL:树中所有叶子节点的带权路径长度之和 (带权路径是:叶子节点的数值乘经过的子节点数量) 1、 2、
阅读全文
树结构(三)----线索二叉树
摘要:线索化二叉树时,一个节点的前一个节点,叫前驱节点 线索化二叉树时,一个节点的后一个节点,叫后继节点
阅读全文
排序算法(二)选择排序---堆排序
摘要:概念:利用树结构进行排序。 分类:1、大顶堆: 每个小树的根节点都大于子节点 升序排序使用大顶堆 2、小顶堆:每个小树的子节点都大于根节点 降序排序使用小顶堆
阅读全文
树结构(三)---二叉树
摘要:二叉树 : 1.任何一个节点的子节点数量不超过2。 2.二叉树的子节点分左节点和右节点 (左右区分很明确) 满二叉树 :所有叶子节点都在最后一层,而且节点的总数为:2^n-1。(n是树的高度) 完全二叉树:所有叶子节点都在最后一层或倒数第二层,且最后一层的叶子节点在左边连续,倒` 数第二节的叶子节点
阅读全文
排序算法(二)选择排序---简单选择排序
摘要:将数组第一个数字,依次和数组后面的数字比较,将小的数字放到最前面。。
阅读全文
排序算法(二)插入排序---希尔排序
摘要:希尔排序是对直接插入排序的优化,比直接插入排序效率更快
阅读全文
排序算法(二)插入排序---直接插入排序
摘要:循环整个数组。在数组第二项开始,把数组第二项前面的项当做有序的数列,将数组第二项和 第一项比较,如果第二项比第一项小,则将第二项的数字存放在临时变量中,赋给,,,,
阅读全文
排序算法(二)交换排序---快速排序
摘要:将需要排序的数组,定义一个标准数字,和一个开始位置(下标),和一个最后位置 (下标) (标准数字是开始位置的数字) (6,8,2,9,4,12,1) 先在最后位置开始,把最后位置的数字和标准数字比较,如果最后位置的数字比标准数字大,则将最后位置向前移动一位 如果最后位置的数字比标准数字小,则将最后位
阅读全文
排序算法(二)交换排序---冒泡排序
摘要:1 //冒泡排序 2 /** 3 * 5,8,3,15,14,68,17 4 * 5 * @param arr 6 */ 7 public static void bubbleSort(int[] arr){ 8 //控制比较多少轮 9 for(int i=0;iarr[j...
阅读全文
排序算法(二)---八种常用的排序算法
摘要:各种排序算法的网站: http://www.atool.org/sort.php 冒泡排序 1、交换排序 快速排序 直接插入排序 2、插入排序 希尔排序 简单选择排序 3、选择排序 堆排序 4、归并排序 5、基数排序
阅读全文
数据结构(一)递归方法----汉诺塔问题
摘要:递归思想解决 汉诺塔问题 1 package Recursive; 2 3 public class TestHanoi { 4 public static void main(String[] args) { 5 hanoi(3,'A','B','C'); 6 } 7 8 /** 9 * 10 * @pa...
阅读全文
数据结构(一)递归方法---解决斐波那契数列
摘要:递归方法 解决 菲波那切数列问题!!!! 3 public class Febonacci { 4 5 public static void main(String[] args) { 6 //斐波那契数列:1,1,2,3,5,8,13 7 int i=febonacci(7); 8 System.out.print...
阅读全文
线性结构(二)--- 双链表
摘要:1 public class DoubleNode { 2 //上一个节点 3 DoubleNode pre=this; 4 //下一个节点 5 DoubleNode next=this; 6 //节点数据 7 int data; 8 9 public DoubleNode(int data){ 10...
阅读全文
线性结构(二)----单链表
摘要:单链表: 通过class建立对象,为对象给予特殊属性成为节点,多个节点形成链表
阅读全文
浙公网安备 33010602011771号