最近学习排序,对于快排,归并等处理海量数据效率高的算法很钟意,但是其自身的递归特性有很多缺点,譬如数据量过大时存在溢出的风险,也影响了算法的效率,故想到用栈代替递归这一过程。大致想法就是创建个函数指针类型的栈,然后将每个子排序的函数指针压入其中,然后再一个一个用*解引用来运行函数。当然我知道改成非递归有别的方法,但是可能会比这复杂,就想考虑用栈来实现。我想知道的是,对于快排和归并等递归排序算法,用以上方法实现的话,算法的开销(时间复杂度和空间复杂度),以及实际效率会是如何,有实际意义么。问题描述不全,毕竟第一次在CSDN提问,望前辈们多看看。本人大二,学了c++ java。
3条回答
悬赏问题
- ¥100 有人会搭建GPT-J-6B框架吗?有偿
- ¥15 求差集那个函数有问题,有无佬可以解决
- ¥15 【提问】基于Invest的水源涵养
- ¥20 微信网友居然可以通过vx号找到我绑的手机号
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名