Data Structure
文章平均质量分 63
kang_wh
这个作者很懒,什么都没留下…
展开
-
1. 数据结构 - 复杂度分析
1. 计算复杂度以及渐进复杂度。同一个问题往往可以用效率不同的算法来分析,“计算复杂度”旨在衡量算法的效率。计算复杂度表示应用一种算法需要付出的努力或成本,通常指时间(更重要)和空间。 在评估算法效率时,采用某种逻辑单位来描述数据的尺度 n 同处理所需时间 t 之间的关系,如线性关系可以表示为 t = cn。不会从实质上改变函数数量级的项目应从函数中剔除。2. 大O表示法原创 2016-03-19 14:56:18 · 398 阅读 · 0 评论 -
二叉查找树
二叉树的一个重要应用是它们在查找中的应用。为了更方便的阐述二叉查找树的概念,我们这里考虑关键字为互异整数的情形。使二叉树成为二叉查找树的性质是,对树中的每个节点N,它的左子树的所有关键字小于N的关键字值,而又子树的所有关键字大于N的关键字值。后面我们可以看到,这种方式可以保证元素用统一的方式排序。1. 二叉树节点声明struct TreeNode{ int element; Tr原创 2016-07-10 01:43:58 · 315 阅读 · 0 评论 -
哈希表
散列是一种用于以常数时间执行插入、删除和查找的技术。但是那些需要元素间任何排序信息的操作将不会得到有效的支持。原创 2016-07-21 19:25:12 · 593 阅读 · 0 评论 -
二叉树的遍历
很多涉及到二叉树的问题,一个基础的解法就是遍历。本文介绍二叉树的几种遍历方式,并且用C++语言实现了一遍。其实只要稍微总结一下就可以发现,树或者图的遍历一般有两种方式,一种是用递归的方式来做,这种方法代码简洁,注意判断好边界条件就好。另外一个思路就是利用栈或者队列,这种方式写起来比较复杂,好处是效率比较高。下面分别介绍一下:深度优先遍历广度优先遍历先序遍历中序遍历后序遍原创 2016-08-30 11:24:15 · 306 阅读 · 0 评论