资源介绍:
考虑到易语言很多的命令并不怎么高效,况且还有很多算法和数据结构系统内置没有,作为一位OIer(OI:Olympic in Informatics),于是我就提供一个简易的高效算法/数据结构模块,全部自己写的,函数支持英文命令,代码没有抄袭任何人现成的代码,我只是将在C++算法竞赛中所学到的东西用易语言写出来而已,部分内容参考了一些文献。
举个例子,你们就知道为什么说算法非常重要:
对超大数组进行排序,如果你用传统的选择排序(O(n^2))对一个超大数组进行排序,你恐怕得等几分钟,而采用二分思想的快速排序(最坏情况O(nlogn),最好情况O(n)),最好情况只需要很短时间。量化一下,假如数组内有1024个元素,传统的选择排序本来需要1024*1024=1048576次循环,而使用快速排序,最坏情况只需要1024*log1024=10240次,最好情况只需要1024次,节省了大量时间!
参数传入的下标没有查验是否越界,所以请务必保证传入的参数合法,否则出错!
时间仓促,暂时先写这么多,后续慢慢添加。想要什么的话回帖注明,在我的精力和能力范围限度之内的话我会考虑在后续版本实现。只提供易语言官方支持库中没有的。
当前已支持算法:快速排序、稳定排序、取最大、取最小、向下取整、向上取整、反转字节集、反转文本
当前已支持数据结构:大根堆、小根堆、并查集
当前计划后续版本更新内容:高精度整数类型(开发中)、KMP算法字符串匹配、AC自动机算法字符串匹配
高精度整数类演示:
时间有限,目前只实现了同号的加法
如果你要计算777+555的话,易语言本身的核心支持库已足够,但是如果你要计算77…7(100个7)+55…5(100个5)的话呢?就算长整数也满足不了你!这时候就是高精度整数类上场的时候了。
版本更新日志:
—–2016/3/20 1.6—–
1、修复bug(字符串反转、文本反转、其他bug)
2、高精度整数类实现同号加法
—–2016/3/13 1.5—–
1、新增快速排序_优化、插入排序
2、改进快速排序、稳定排序
—–2016/2/23 1.4—–
1、修复排序的一处导致重复比较的bug
2、高精度初步成型,功能暂时未写,暂时不能使用
—–2016/2/6 1.3—–
1、开源
2、添加二叉树(已弃用)
—–2016/2/6 1.2—–
1、修复向上取整和向下取整对于负数的运算结果错误的bug
—–2016/2/6 1.1—–
1、新增数据结构:并查集、大根堆、小根堆。妈妈再也不用担心我不会写堆排序了~~~
—–2016/2/5 1.0—–
1、新增算法:快速排序、稳定排序、取最大、取最小、向下取整、向上取整、反转字节集、反转文本
2、函数支持英文调用,更方便
资源作者:
hez2010
资源界面:
资源下载: