- 博客(12)
- 资源 (7)
- 收藏
- 关注
原创 Hoj1412 求两个集合的和{A} + {B}——java实现最优解的辛酸路
写在前面 寒假闲来无事,突发奇想,想A俩题玩玩,许久没A过题了,想想那手指暴力敲击键盘的感觉就是一阵酸爽啊。 做的前几个题还挺顺溜,大概半个小时一个题吧,A了三四个,谁知道到第五个卡这了。 一个看上去很简单的题楞是卡了我俩小时,不过结果还算不错。 打破了个记录,竟然一不小心成为了这个题的最优解。。。。。。。 详细描述点击此处参见
2015-01-25 13:29:14 1973
原创 数据结构Java实现——③串--->串的模式匹配:Brute-Force算法和 KMP算法
KMP模式匹配算法 在Brute-Force算法的基础上进行了改进,改进后的算法,可以在匹配失败后,无需修改记录主串当前比较的字符的下标 i;而且,记录子串当前比较的字符的下标 j也不用清零。而是在已经比较过的字符的基础上,针对子串本身的特点,移动子串,以达到减少比较次数的目的 当某次匹配不成功时,主串s的当前比较位置i不用回退,此时主串Si 可以直接和子串中的某个tk进行比较,此处的k的确定与主串无关,只有子串本身的构有关,即从子串本身就可以计算出k的值
2015-01-18 10:47:27 1634
原创 数据结构Java实现——③串
所谓串,“字符串”也,即字符串在一起作为一个整体,当然串也是线性表的一种,当然也有顺序存储,链式存储两种。 很显然在学习了前面那么多的“特殊的”线性表之后,对常见的两种存储方式不难理解 首先来说顺序存储,在最开始构造时,要预先的创建一个“大”数组,然后将数据存储尽量,对应顺序存储,必须要有一个记录当前实际占用“大”数组长度、也就是串本身的实际长度的变量。 然后来说链式存储,首先链式存储肯定要用到结点对象(有指针域,有数据域),如果结点的数据域里存储的是单个字符,那么该链表称为单字符链表,否则,也就是结点
2015-01-18 10:30:50 1915 1
原创 数据结构Java实现——②队列-->队列的“奇葩”二 优先级队列
写在前面 有很多时候,一些数据的存储不仅需要先进先出,而且还有根据数据的优先级来排序,也就是优先级高的一定先出去,优先级相同的先进先出,此时就会用到优先级队列 应用 其实优先级队列的应用十分广泛,比如说构造哈夫曼树算法,再比如在一些计算机操作系统中用优先级队列来来满足抢先式多任务操作系统等等等等
2015-01-04 14:38:57 1262 1
原创 数据结构Java实现——②队列--->队列的“奇葩”一循环顺序队列
学习了队列,就不得不知道一些特殊的队列,在实际应用中,这些队列有时用的更多,此为循环顺序队列 循环顺序队列就是为了防止出现假溢出现象而出现的,其功能类似于一个环形,如图,但实际上还是一个线性存储的结构
2015-01-04 13:50:50 1182
原创 数据结构Java实现——②队列
写在前面 转眼数据结构这本书就学完了,但是一直学习的是C版的,感觉很不爽,就借了本Java版的自学了点,感觉还不错, 特此共享。此处是队列。 文字描述 队列的特点就是先进先出,其功能可以比作一个管道,如图 只能从一端添加,在另一端删除,对每一个元素而已,先进先出 代码描述 1、队列的抽象接口 package org.Ston
2015-01-04 13:33:04 516
原创 数据结构Java实现——①栈-->栈的应用四、汉诺塔问题
汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
2015-01-04 12:52:32 1550
原创 数据结构Java实现——①栈-->栈的应用三、算术表达式求值
当一个算术表达式中含有多个运算符,且运算符的优先级不同的情况下,如何才能处理一个算术表达式????? 2、思路 首先我们要知道表达式分为三类: ①中缀表达式:a+(b-c/d)*e ②前缀表达式+a*-b/cde ③后缀表达式abcd/-e*+ 由于运算符有优先级,所以在计算机中计算一个中缀的表达式非常困难,特别是带括号的更麻烦,而后缀表达式中既无运算符优先又无括号的约束问题因为在后缀表达式中运算符出现的顺序正是计算的顺序,所以计算一个后缀的表达式更简单。 所以,可以将求算术表达式的值的过程化
2015-01-04 12:44:37 5679 2
原创 数据结构Java实现——①栈-->栈的应用二、分隔符匹配
1、问题描述 编译器在编译一段代码时,首先进行的就是分隔符的匹配,常见的分隔符有{ } [ ] ( )/* */ 2、思路 首先要知道的一件事就是:分隔符运行嵌套,而且,读入的顺序和处理的顺序相反,很显然是用栈。 算法描述如下: 从左到右扫描java语句,从语句中不断的读取字符,每次读取一个字符,若发现它是左分割符,则将它压入栈; 当从输入中读到一个右分割符时,则弹出栈顶 的左分隔符,并且查看它是否和右分隔符匹配,若它们不匹配,则匹配失败,程序报错; 若栈顶没有左分隔符与右分隔符匹配,或
2015-01-04 12:36:42 887
原创 数据结构Java实现——①栈
首先,所谓栈,就是一个先进后出的一个线性表。其功能类似于一个水杯 只能从一端添加,而且也只能在该端删除,对每一个元素而已,先进后出
2015-01-04 11:28:17 724
原创 浅谈指针
指针是什么??指针其实就是一个记录数据的地址的变量,换言之,指针也是变量,只不过其中存储的不是数据而是地址。 如果你明白了什么是指针的话,那么神马多级指针之类的,都很容易理解,拿二级指针来举例,二级指针就是指向指针的指针,两个指针里面存储的都是地址,一级指针里面存储的是变量的地址,二级指针里面存储的是指针的地址 那么问题来了,既然指针中存储的是地址,内存中地址的长度(最大值)是确定的,那么为什么还要将指针分类为指向整形的,指向字符型等等???????
2015-01-02 22:39:51 561 2
Notepad++JSON+XML+FTP.zip
2020-11-19
【一套键盘鼠标控制多台电脑的工具】MouseWithoutBordersSetup
2020-11-19
putty-64bit-0.70-installer.rar
2019-09-03
sapjco3的dll和jar 32位、64位复合包.zip
2019-09-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人