四方显神

导航

2020年10月29日 #

数据结构018_赫夫曼树

摘要: 赫夫曼树名字看起来很难,其实蛮简单的。我记得为大学的时候就很爱做赫夫曼树,因为很容易掌握而且做对。笑了。 一、赫夫曼树 1)给定n个权值作为n个叶子结点,构造一棵二叉树,若该树带权路径(wpl)达到最小,称这样的树为最优二叉树,也叫赫夫曼树(Huffman Tree)。 2)赫夫曼树是带权路径长度最 阅读全文

posted @ 2020-10-29 19:38 szdbjooo 阅读(98) 评论(0) 推荐(0) 编辑

2020年10月28日 #

数据结构017_树的应用(堆排序)

摘要: 一、堆排序基本介绍 1)堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序也是一种选择排序,它的最坏、最好、平均时间复杂度都是O(nlogn),不稳定排序。 2)堆是完全二叉树(完全二叉树概念可以参考上一篇,我自己都忘记,又回头看)。大顶堆:每个结点的值都大于或者等于其左右孩子结点的值。小顶堆: 阅读全文

posted @ 2020-10-28 20:01 szdbjooo 阅读(208) 评论(0) 推荐(0) 编辑

2020年10月26日 #

数据结构016_树(下)线索化二叉树

摘要: 本篇内容:线索化二叉树,(堆排序[专门提出来放在下一篇了])、赫夫曼树 一、线索化二叉树基本介绍 n个结点的二叉链表中含有2n-(n-1)=(n+1)个空指针域。利用二叉链表中的空指针域,存放指向结点在某种遍历次序下的前驱和后继结点的指针(这种附加的指针称为线索) 这种加上了线索的二叉链表称为线索链 阅读全文

posted @ 2020-10-26 20:09 szdbjooo 阅读(198) 评论(0) 推荐(0) 编辑

2020年10月24日 #

数据结构015_树(上)

摘要: 本篇内容:二叉树、前中后序遍历二叉树、前中后序查找、二叉树删除节点、顺序存储二叉树 阅读全文

posted @ 2020-10-24 11:56 szdbjooo 阅读(52) 评论(0) 推荐(0) 编辑

2020年10月20日 #

数据结构014_哈希表

摘要: 一、哈希表基本介绍 散列表(hash table 也叫哈希表),是根据关键码值(key value)而直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问纪录,以加快查找的速度。这个映射函数叫散列函数,存放纪录的数组叫做散列表。 二、情景题及代码实现 有一个公司,当有新员工来报道时,要求 阅读全文

posted @ 2020-10-20 19:19 szdbjooo 阅读(68) 评论(0) 推荐(0) 编辑

2020年10月11日 #

数据结构013_查找算法

摘要: Java中常见的查找有四种: 顺序( 线性)查找。代码太简单不码了,就是遍历。 二分查找/折半查找。也没有难度。 插值查找。 斐波那契查找。我遇到困难了,好难理解 一、顺序查找 不多说 二、二分查找:前提是有序。 思路: 确定该数组的中间下标 mid = (left+right) / 2 让需要查找 阅读全文

posted @ 2020-10-11 23:25 szdbjooo 阅读(153) 评论(0) 推荐(0) 编辑

2020年10月9日 #

数据结构012_排序算法(归并排序、基数排序)

摘要: 其实我到希尔排序就有点不懂了。就反反复复码很多遍。最后搞得能敲出来但是清楚知道还是不懂。 但是我有良好的自信系统,我知道我不属于笨蛋,如果不懂,那就是确实需要多付出一些精力。 我期待我像小学生背乘法口诀,不知所云,但突然有一天茅塞顿开,啊原来是这么用的。 本篇内容:归并排序、基数排序 一、归并排序: 阅读全文

posted @ 2020-10-09 20:40 szdbjooo 阅读(310) 评论(0) 推荐(0) 编辑

数据结构011_排序算法(上)

摘要: 排序也称排序算法(Sort Algorithm)。分为内部排序和外部排序。 内部排序:将需要处理的所有数据都加载到内部存储器(内存)中进行排序。 外部排序:数据量过大,无法全部加入到内存中,需要借助外部存储(文件等)进行排序。 常见的排序算法分类:(以下五种都属于内部排序) 1.插入排序: 直接插入 阅读全文

posted @ 2020-10-09 19:04 szdbjooo 阅读(92) 评论(0) 推荐(0) 编辑

2020年9月28日 #

数据结构009_递归(迷宫回溯算法)

摘要: 在公司工作空隙里敲敲,基本上也觉得不难回来就不会再敲一遍了。还是上周敲完的代码了。今天趁着写博客重新敲一遍。 递归简单来说就是自己调用自己,每次调用传入不同的变量。 递归调用能解决的数学问题如:8皇后、汉诺塔、阶乘、迷宫、球和篮子等。 有些算法也会使用递归,比如快排、归并排序、二分查找、分治算法等。 阅读全文

posted @ 2020-09-28 22:02 szdbjooo 阅读(289) 评论(0) 推荐(0) 编辑

2020年9月21日 #

数据结构007_中缀转后缀表达式

摘要: 中缀表达式转后缀表达式思路: 1.初始化两个栈:运算符栈S1和储存中间结果的栈S2; 2.从左到右扫描中缀表达式 3.遇到操作数时,将其压入S2; 4.遇到运算符,比较其与S1栈顶运算符的优先级: 如果S1为空,或栈顶运算符是左括号 '(' ,则直接将此运算符入栈; 若优先级比栈顶运算符的高,也将运 阅读全文

posted @ 2020-09-21 22:15 szdbjooo 阅读(234) 评论(0) 推荐(0) 编辑