java 数据结构
文章平均质量分 63
iteye_7401
这个作者很懒,什么都没留下…
展开
-
java 时间复杂度和空间复杂度
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。 算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是度量算法执行的时间长短;而空间复杂度是度量算法所需存储空间的大小。1、时间复杂度 1.1 时间频度 一个算法中的语句执行次数称为语句频度或时间频度。记为T(...原创 2011-10-31 15:55:39 · 427 阅读 · 0 评论 -
java 常用排序算法,简单排序
1.冒泡排序 基本思路是:搜索整个值列,比较相邻元素,如果两者的相对次序不对,则交换它们,其结果是最大值“像水泡一样”移动到值列的最后一个位置上,这也是它在最终完成排序的值列中合适的位置。然后再次搜索值列,将第二大的值移动至倒数第二个位置上,重复该过程,直至将所有元素移动到正确的位置上。 时间复杂度O(n2),最佳情况是已排好序只比较n-1次,不用交换。 int...原创 2011-11-01 16:06:18 · 105 阅读 · 0 评论 -
数据结构中的前序后序中序遍历
前一阵去面试,考了一道二叉树的后序遍历,就知道是数据结构里面的,但是忘了具体怎样遍历了。所以这里记下来,备忘。 1 后序遍历指在访问根结点、遍历左子树与遍历右子树三者中,首先遍历左子树,然后遍历右子树,最后遍历访问根结点,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后遍历根结点。后序遍历有递归算法和非递归算法两种。 如下图: 遍历结果:D...原创 2011-11-28 09:27:39 · 633 阅读 · 0 评论 -
数据结构中的树
1 为什么使用二叉树 它结合了2种数据结构的优点:有序数组和链表。在树中查找数据项的速度和有序数组一样快;并且插入和删除数据项的速度和链表一样。--摘自《java数据结构和算法》by RobertLafore 2 最优二叉树,也称为哈夫曼树。在权为wl,w2,…,wn的n个叶子所构成的所有二叉树中,带权路径长度最小(即代价最小)的二叉树,权值越小的结点,其到根结点的路径...原创 2013-09-22 11:17:45 · 103 阅读 · 0 评论 -
java 常用查找算法
1 二分查找/折半查找思想:在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。时间复杂度:折半搜索每次把搜索区域减少一半,时间复杂度为或log2(n)。(注意log2(n)和log(n)其实是同样的复杂度,...原创 2013-09-24 11:37:39 · 144 阅读 · 0 评论