Press "Enter" to skip to content

Tag: 算法

时间复杂度和空间复杂度的简单讲解

时间复杂度是同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。 计算机科学中,算法的时间复杂度是一个函数,它定性描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况。 一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。 时间复杂度: 首先要说的是,时间复杂度的计算并不是计算程序具体运行的时间,而是算法执行语句的次数。 当我们面前有多个算法时,我们可以通过计算时间复杂度,判断出哪一个算法在具体执行时花费时间最多和最少。 常见的时间复杂度有: 常数阶O(1), 对数阶O(log2 n),…

Leave a Comment

什么是数据结构?什么是算法?

数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。 算法就是操作数据的一组方法。 算法你可以理解为用程序解决实际问题的方法。比如排序算法,查找算法。(算法实际是编程过程中完成一件事采用的方法,比方说现实生活中做数学题时两个人都将题完成但是他们之间有一个用的时间很短就是因为采用了简便的方法。同样在编程过程中采用好的算法可以降低程序的时间复杂度) 数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。 因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。 数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。 程序=数据结构+算法 程序就是基于某种或某几种数据结构,采用某种算法或某几种算法去解决问题的过程。 如果还是不太清楚下面会举例说明的。 数据存储结构:简单的讲就是数据在计算机中的存储、组织数据的方式。…

Leave a Comment