Never forget why you started,
and your mission can be accomplished.

数据算法

算法的时间复杂度和空间复杂度

zhouchong阅读(108)评论(0)

各算法的性能比较图 1、算法的概念: 算法 (Algorithm),是对特定问题求解步骤的一种描述。 解决一个问题往往有不止一种方法,算法也是如此。那么解决特定问题的多个算法之间如何衡量它们的优劣呢?有如下的指标: 2、衡量算法的指标: (...

算法

zhouchong阅读(127)评论(0)

算法的五个重要特性 输入(Input) 一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;对于打印hello world这样的代码就不需要任何输入参数。 输出(Output) 一个算法有一个或多个输...

如何理解递归

zhouchong阅读(231)评论(0)

递归真是个奇妙的思维方式。自打我大二学习递归以来,对一些简单的递归问题,我总是惊叹于递归描述问题和编写代码的简洁。但是总感觉没能融会贯通地理解递归,有时尝试用大脑去深入“递归”,层次较深时便常产生进不去,出不来的感觉。这种状态也导致我很难灵...

二叉树

zhouchong阅读(70)评论(0)

二叉树是一种特殊的树。二叉树的特点是每个结点最多有两个儿子,左边的叫做左儿子,右边的叫做右儿子,或者说每个结点最多有两棵子树。更加严格的递归定义是:二叉树要么为空,要么由根结点、左子树和右子树组成,而左子树和右子树分别是一棵二叉树。 下面这...

冒泡排序

zhouchong阅读(323)评论(0)

冒泡排序介绍 冒泡排序(Bubble Sort),又被称为气泡排序或泡沫排序。 它是一种较简单的排序算法。它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之...

队列

zhouchong阅读(328)评论(0)

队列的介绍 队列(Queue),是一种线性存储结构。它有以下几个特点: (01) 队列中数据是按照”先进先出(FIFO, First-In-First-Out)”方式进出队列的。 (02) 队列只允许在”...

zhouchong阅读(292)评论(0)

栈的介绍 栈(stack),是一种线性存储结构,它有以下几个特点: (01) 栈中数据是按照”后进先出(LIFO, Last In First Out)”方式进出栈的。 (02) 向栈中添加/删除数据时,只能从栈顶进...

线性表简介

zhouchong阅读(323)评论(0)

线性表是一种线性结构,它是具有相同类型的n(n≥0)个数据元素组成的有限序列。 数组 数组有上界和下界,数组的元素在上下界内是连续的。 存储10,20,30,40,50的数组的示意图如下: 数组的特点是:数据是连续的;随机访问速度快。 数组...

递归简介

zhouchong阅读(323)评论(0)

递归的定义: 递归(英语:recursion)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。[1] 递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。[2] 绝大多数编程语言支持...