数据结构与算法
yaoyao44
这个作者很懒,什么都没留下…
展开
-
空间复杂度
程序所需要的空间主要由以下部分构成:• 指令空间(instruction space) 指令空间是指用来存储经过编译之后的程序指令所需的空间。• 数据空间(data space) 数据空间是指用来存储所有常量和所有变量值所需的空间。数据空间由两个部分构成:...原创 2012-12-19 09:48:00 · 115 阅读 · 0 评论 -
堆栈与队列
一、堆栈1、堆栈数据结构是通过对线性表的插入和删除操作进行限制而得到的(插入和删除操作都必须在表的同一端完成) ,因此,堆栈是一个后进先出(last-in-first-out, LIFO)的数据结构。2、栈通常采用的两种存储结构是(线性存储结构和链表存储结构)链表:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一...原创 2012-12-19 10:05:07 · 131 阅读 · 0 评论 -
二叉树基础
遍历方案:遍历算法 1.中序遍历的递归算法定义: 若二叉树非空,则依次执行如下操作: ⑴遍历左子树; ⑵访问根结点; ⑶遍历右子树。 2.先序遍历的递归算法定义: 若二叉树非空,则依次执行如下操作: ⑴ 访问根结点; ⑵ 遍历左子树; ⑶ 遍历右子树。 3.后序遍历得递归算法定义: 若二叉树非空,则依次执行如下操作:...原创 2012-12-19 14:04:50 · 182 阅读 · 0 评论 -
常用的排序算法
一、冒泡排序:对一个队列里的数据,挨个进行轮询和交换,每次轮询出一个当前最大或者最小的值放在队尾,然后继续下次轮询,轮询长度-1,就跟冒泡一样,所以称为冒泡排序,运算时间复杂度N平方二、选择排序:对一个队列里的数据,选出当前最大或者最小的值,然后将他与队首的数据交换,然后从第二个开始,进行相同的操作,运算时间复杂度N平方,但由于他不像冒泡一样需要不停的交换位置,所以会比冒泡快一些...原创 2012-12-19 14:05:20 · 1475 阅读 · 0 评论