数据结构与算法-Hello算法
文章平均质量分 91
烟雨殇离
这个作者很懒,什么都没留下…
展开
-
《hello算法》之时间复杂度
算法C的打印操作需要循环1000000,虽然运行时间很长,但是与输入数据大小n无关,因此时间复杂度仍是“常数阶”。生物学的“细胞分裂”是指数阶增长的典型例子:初始状态为1个细胞,分裂一轮后变为2个,分裂两轮后变为4个,以此类推,分裂㼿轮后有2n个细胞,如下所示,时间复杂度为O(2。、2、1次,平均为n/2次,因此时间复杂度为O((n-1)n/2)=O(n。n + 1层,时间复杂度为O(n log n)。如例所示,第一次分裂出n个,第二层分裂出n-1个,以此类推,直至第n层时停止分裂,但当n>=4时恒有n!原创 2024-06-18 11:55:44 · 1805 阅读 · 0 评论 -
《Hello 算法》
算法(algorithm)是在有限的时间内解决特定问题的一组指令或操作步骤。问题是明确的,包含清晰的输入和输出定义。能够在有限步骤、时间和内存空间下完成。各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。数据的内容空间占用尽量少,以节省计算机内存。数据的操作方法数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。数据之间的关系提供简洁的数据表示和逻辑信息,以便算法高效运行。数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面做出妥协。原创 2024-05-11 09:54:49 · 491 阅读 · 0 评论 -
《Hello算法》之迭代与递归
才进行递归调用,则该函数可以被编译器或解释器优化,使其在空间效率上与迭代相当。原创 2024-05-31 16:26:04 · 1269 阅读 · 0 评论