高效数据结构&算法模块

资源介绍:

考虑到易语言很多的命令并不怎么高效,况且还有很多算法和数据结构系统内置没有,作为一位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

资源界面:

数据结构及算法模块图片.png

资源下载:

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注