数据结构与算法
文章平均质量分 78
njr465167967
这个作者很懒,什么都没留下…
展开
-
三种初级排序算法(冒泡、选择、直接插入)java实现及其性能比较
排序就是将一组对象按照某种逻辑顺序重新排列的过程。排序在很多地方可以用到,比如在淘宝购物时,完全可以根据自己的需要对搜索到的商品进行排序。在计算时代早期,大家普遍认为30%的计算周期都用在了排序上,但今天这个比例降低了,原因之一就是如今的排序算法更加高效,而并非排序的重要性降低了,因此熟悉一些排序算法是很重要的。最近几天我开始学习排序算法,并用java语言实现了一遍,并且比较了冒泡、选择、直接插入原创 2016-05-30 22:59:38 · 438 阅读 · 0 评论 -
高级排序算法之希尔排序
对于大规模的乱序数组插入排序很慢,因为它只会交换相邻元素,因此元素只能一点一点地从数组的一端移动到另一端。举例子说,如果最小的元素正好在数组的尽头,将它移动到正确位置需要N-1次移动。希尔排序为了加快速度简单地改进了插入排序,交换不相邻的元素以对数组的局部进行排序,并最终用插入排序将局部有序的数组排序。一、希尔排序的思想及实现 希尔排序的思想是使数组中任意间隔为h的元素都是有序的原创 2016-06-04 21:24:24 · 276 阅读 · 0 评论 -
java动态规划 实现输出最大公共子序列的长度以及输出最大子字符串
参考博客地址:http://blog.csdn.net/biangren/article/details/8038605动态规划法 分治法是指将问题划分成一些独立的子问题,递归地求解各子问题,然后合并子问题的解而得到原问题的解。然而经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题,也就是各子问题包含公共的子子问题。若简单地采用把大问题分解成子问题,并综合子原创 2016-06-14 23:11:06 · 4781 阅读 · 0 评论 -
栈的应用--四则运算表达式求值(java语言)
栈的应用–四则运算表达式求值(java语言)前言在复习数据结构的过程中,采用单链表实现了栈Stack,具体功能有如下几个功能:判断其是否为空栈、输出栈的长度、入栈、出栈并且实现Iterable借口,可以采用Iterator遍历栈。在测试了栈之后,觉得应该将栈应用一下,于是在看书大话数据结构中,发现可以将栈应用到四则运算表达式求值中,这样我就想着去实现一下,想达到的目的是:当输入一个表达式,例如:9+原创 2016-07-20 16:11:05 · 3537 阅读 · 0 评论