您的位置:首页 > 理论基础 > 数据结构算法

数据结构与算法之排序

2017-01-21 13:33 288 查看
有计划写一个自己的算法库,也就是先自己将用c语言实现,再用c++实现

写出一个可以工作的程序并不够。如果这个程序在巨大的数据集上运行,那么运行时间就变成重要的问题。

如何估计程序运行时间

如果选择算法

改进算法性能,优化代码

递归

基准情形——不能递归就能求解的情形

不断推进——需要递归求解的情形,递归调用必须总能够朝着产生基准情形的方向推进

设计法则——假设所有的递归调用都能运行

合成效益法则——切勿在不同的递归调用中做重复的工作。如斐波那契数

如何估计程序运行时间

如何将一个程序的运行时间从天或年降低到秒

粗心使用递归的后果

将一个数自乘得到其幂,计算两个数最大公因数的非常有效的算法

一些简单的定义

当我们说T(N)=O(f(N)),我们在保证T(N)不快于f(N)的速度增长,因此其为一个上界。f(N)=omg(T(N)),T(N)为其下界。

增长速度相等用一个怪怪的符号ϴ,能用这个符号优先用,严谨

如若不明白看数据结构与算法描述——c语言描述

增长速率

c
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据结构
相关文章推荐