精易论坛

标题: 2017/06/12 更新 高效数据结构及算法模块 by hez2010 [打印本页]

作者: hez2010    时间: 2017-6-13 00:21
标题: 2017/06/12 更新 高效数据结构及算法模块 by hez2010
易语言官方支持库以及网上流传的很多模块中的很多命令或数据结构仅仅是实现了功能,但是并不怎么高效,再有就是有人将本来时间复杂度就高的算法使用汇编进行优化,然并卵,O(n^2)的复杂度和O(nlogn)的复杂度根本不是一个数量级的【注:这里的log以2为底数】。
举个例子:对超大数组进行排序,如果你用传统的选择排序(O(n^2))对一个超大数组进行排序,你恐怕得等几分钟,而采用二分思想的快速排序(最坏情况O(nlogn),最好情况O(n)),最好情况只需要很短时间。量化一下,假如数组内有1024个元素,传统的选择排序本来需要1024*1024=1048576次循环,而使用快速排序,最坏情况只需要1024*log1024=10240次,最好情况只需要1024次,节省了大量时间!

那么,作为一位OIer(Olympic in Informatics),决定将易库中没有的算法以及数据结构以此模块作为补充,将时间复杂度优化到最优,使你的程序运行效率更高!


当前已支持算法:快速排序、插入排序、堆排序、归并排序、取最大、取最小、向下取整、向上取整、反转字节集、反转文本、反转数组、扩展欧几里得、中国剩余定理、快速幂、线性回归相关、线性规划
当前已支持数据结构:大根堆、小根堆、并查集、Trie、表达式、高精度整数(部分)、线段树、树状数组、栈
当前计划后续版本更新内容:KMP、AC自动机、红黑树、AVL、SBT、Treap、块状数组、Splay、普通二叉查找树、深度搜索框架、广度搜索框架、图论相关(方向:有向图、无向图;类型:邻接表式、邻接矩阵式;包含算法:dijkstra、floyd、SPFA、kruskal、prim、tarjan强连通分量、遍历、求哈密顿环、匈牙利算法求二分图最大匹配、连通性判断)

另外给喜爱算法的人推荐一本书:刘汝佳的《算法竞赛入门经典》,pan.baidu.com/s/1boNjXYv 密码: pr96,不过有一点,这本书不但会从0给你教算法,还会从0给你教C++。与之配套的是跟这个封皮差不多的蓝色封皮的书,里面有更加高深的算法,是这本书的延伸(这个蓝皮的我在网上找不到电子版,网上有的都是旧版,不是新版)。

数据结构及算法模块.e (132.87 KB, 下载次数: 482)




作者: sxlldaj    时间: 2017-6-13 00:25
谢谢分享,新手学习了
作者: 枫逸妖郎    时间: 2017-6-13 00:37
谢谢分享  
作者: huhua    时间: 2017-6-13 00:48
好强悍,支持了
作者: hfq1314    时间: 2017-6-13 07:32
谢谢分享,新手学习了
作者: DerBai    时间: 2017-6-13 11:35
必须顶一顶
作者: 情雅    时间: 2017-6-13 12:06
感谢分享,向你致敬
作者: shabi001    时间: 2017-6-13 12:20
感谢分享111!!!!!!!!!!!
作者: y2j423633    时间: 2017-6-13 12:40
虽然看不懂,但还是支持
作者: 挥剑い为红颜    时间: 2017-6-13 13:13
看看找机会合并进精易模块吧  
作者: 无风无飞    时间: 2017-6-13 16:14
支持...虽然排序大的数据.我更宁愿上数据库....
作者: 执着制作    时间: 2017-6-13 16:51
感谢分享
作者: 执着制作    时间: 2017-6-13 16:51
感谢分享
作者: 幸福麒麟    时间: 2017-6-13 17:17
厉害死了,我都没没有看懂
作者: By名扬    时间: 2017-6-13 17:18
可惜易语言5.11不能用
作者: 決不放棄    时间: 2017-6-13 17:26
看不懂,收藏了
作者: 慕尚网    时间: 2017-6-13 18:41
感谢分享..
作者: fyh505099    时间: 2017-6-13 18:51
谢谢大神分享
作者: 985778474    时间: 2017-6-13 19:31
支持开源~!感谢分享
作者: 猪乐猪猪    时间: 2017-6-13 19:55
6666666666
作者: 74596877    时间: 2017-6-13 20:09
膜拜大佬,玩算法的才是真·大神
作者: 疯子大大    时间: 2017-6-13 22:46
膜拜算法大神
作者: 在人间    时间: 2017-6-13 23:18
支持开源~!感谢分享
作者: 在人间    时间: 2017-6-13 23:19
加精这个得
作者: bzj1975    时间: 2017-6-14 09:43
支持开源~!感谢分享
作者: Cbise    时间: 2017-6-14 09:51
支持开源~!感谢分享
作者: 兮若残伤    时间: 2017-6-14 11:45

作者: 透过玻璃看世界    时间: 2017-6-14 11:57
支持开源~!感谢分享
作者: chendeng001    时间: 2017-6-14 12:09
牛人贴,必须顶呀
作者: 杂草    时间: 2017-6-14 19:38
感谢发布原创作品,精易因你更精彩
作者: wo33201    时间: 2017-6-14 19:44
谢发布原创作品,精易因你更精彩
作者: render    时间: 2017-6-15 12:54

谢发布原创作品,精易因你更精彩
作者: xtavoxing    时间: 2017-6-15 14:15
厉害了我的Word...~~棒棒的`
作者: 15887059803    时间: 2017-6-15 20:49
感谢分享支持开源
作者: InstallTest    时间: 2017-6-16 11:12
树状数组   
作者: vSpear    时间: 2017-6-16 13:01
载入失败 不能被编译
作者: hez2010    时间: 2017-6-16 23:28
vSpear 发表于 2017-6-16 13:01
载入失败 不能被编译

没有用到第三方支持库,你确定你是易语言5.6以上?
作者: 心梦心    时间: 2017-6-17 17:32
先收藏有时间在来学学
作者: NIKOChen    时间: 2017-6-17 18:07
厉害,下来看看
作者: a838926551    时间: 2017-6-17 18:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: ez6gph    时间: 2017-6-17 20:16
新手学习!!!!!!!!!!!
作者: 1090448765    时间: 2017-6-19 12:17
6666666666666
作者: 1574455213    时间: 2017-6-21 21:18
学习学习学习
作者: bachelor88    时间: 2017-6-24 15:38
这是要玩最强大脑吗?
作者: jfjdjd    时间: 2017-6-25 12:39
谢谢分享。
作者: nihao6681    时间: 2017-6-27 00:07
高科技了感谢分享
作者: ysqzxf    时间: 2017-7-5 23:08
这么全哈。。
作者: a187127    时间: 2017-7-16 23:45

高科技了感谢分享
作者: 戏雨流年    时间: 2017-7-29 16:18
感谢发布原创作品,精易因你更精彩!
作者: xueyi08    时间: 2017-8-3 17:57
多谢分享……
作者: 大麦233    时间: 2017-8-26 21:59
决定。。先存着orz
作者: 熬夜    时间: 2017-10-3 12:40
大麦233 发表于 2017-8-26 21:59
决定。。先存着orz

好高级的样子啊 这东西
作者: luchao900    时间: 2017-11-27 16:36
很牛逼啊,谢谢
作者: a1358349187    时间: 2018-3-2 10:28
多谢开元,学习学习
作者: 君子爱财    时间: 2019-6-16 15:56
这才是高手啊,致敬!
作者: dangerace    时间: 2020-5-17 19:17
对里面的排序算法做了一个简单测试
最快的算法是“快速排序”,百万级排序和核心库速度几乎相同,然后量级越往上走速度越快,5千万数组排序比核心库快了将近10倍!
但是其他排序比较令人失望,速度很慢,尤其是插入排序.....
作者: 992032820    时间: 2021-5-12 17:01
学习各种算法
作者: year1970    时间: 2024-1-27 09:40
感谢分享,学习了
作者: Sam8    时间: 2024-10-20 13:33
6666666666666666666666666




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4