![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
G_BrightBoy
爱计算机技术,爱互联网,爱唱歌,爱运动,……
展开
-
认识各种“树”的关系
被工作苦逼的孩子们,在看数据结构和算法的时候肯定被各种树搞晕了,下面我们简单理清他们之间的关系,先宏观上把握好,再细研究其具体算法。(1)满二叉树:一棵深度为k,且有2k-1个结点的二叉树,即每一层上的结点数为该层最大节点数。(2)完全二叉树:一棵具有n个结点深度原创 2011-09-20 13:58:59 · 1418 阅读 · 0 评论 -
判断两个单链表是否相交
首先要搞清楚单链表相交的概念和特点:指的是他们存在完全重合的部分,不是交叉到一个点(不存在这种情况,可以想想为什么),判断其是否相交的方法有以下几种。(1)最传统方法双重循环,依次查找,是否有地址相同的节点,时间复杂度O(list1.len * list2.len原创 2011-09-27 09:31:30 · 4288 阅读 · 5 评论 -
Trie—单词查找树
介绍的很明白,简单易懂。 简介Trie,又称单词查找树、前缀树,是一种哈希树的变种。应用于字符串的统计与排序,经常被搜索引擎系统用于文本词频统计。含有单词“tea”“tree”“A”“ZSU”的一棵Trie。性质 根节点不包含字符,除根节点外的每一个节转载 2011-09-27 15:03:56 · 799 阅读 · 0 评论 -
算术表达式求值:“算符优先级法”、“后缀表达式法”
方法1:该方法来自严蔚敏版数据结构,基本思路是:设置两个工作栈,一个操作数栈,一个操作符栈,在(自左至右)扫描算术表达式时,遇到操作数直接入操作数栈,若遇到操作符,则根据操作符优先级判断下一步操作(“操作符优先级规则”):若其优先级高于栈顶操作符,则入栈,否则(相等或小于),原创 2011-10-06 13:55:26 · 7471 阅读 · 1 评论 -
代码合集:健壮的二分查找,高效的堆排序和快速排序
是经过相关资料及网上博客的综合关于二分查找以及堆排序和快速排序的代码,觉得不错,总结了以下经过测试的健壮性较强,运行高效的代码,拿来分享下。(1)二分查找:/*二分查找*///a表示数组,len数组长度,key要查找的值//找到返回位置,找不到返回-1int原创 2011-10-08 23:48:24 · 1305 阅读 · 0 评论