队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。 队列用于存储按顺序排列的数据,先进先出,这点和栈不一样,在栈中,最后入栈的元素反而被优先处理。 可以将队列想象成在银行前排队的人群,排在最前面的人第一个办理业务,新来的人只能在后面排队,直到轮到他们为止。 队列是一种先进先出的数据结构 ...
分类:
编程语言 时间:
2017-07-21 01:13:15
阅读次数:
226
有一些问题特别适合用栈来解决。本节就介绍几个这样的例子。 1) 数制间的相互转换 可以利用栈将一个数字从一种数制转换成另一种数制。假设想将数字n 转换为以b 为基数的数字,实现转换的算法如下。 使用栈,在JavaScript 中实现该算法就是小菜一碟。下面就是该函数的定义,可以将数字转化为二至九进制 ...
分类:
编程语言 时间:
2017-07-20 00:55:34
阅读次数:
234
栈就是和列表类似的一种数据结构,它可用来解决计算机世界里的很多问题。 栈是一种高效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作很快,而且容易实现。 栈的使用遍布程序语言实现的方方面面,从表达式求值到处理函数调用。 1.对栈的操作: 栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这 ...
分类:
编程语言 时间:
2017-07-20 00:52:44
阅读次数:
181
姓名:耑新新 性别:男 出生年月:1997年4月 籍贯:河南省三门峡市 性格:乐观、自信 学习经历:2015年9月至今 就读于长春理工大学计算机科学技术学院软件工程系 已修专业课程:C++程序设计、数据结构与算法、汇编语言、嵌入式系统原理与设计、操作系统、计算机组成原理、编译原理、计算机网络、数据库 ...
分类:
其他好文 时间:
2017-07-18 15:36:18
阅读次数:
125
广义表的创建与打印 本文取自《数据结构与算法》(C语言版)(第三版),出版社是清华大学出版社。 本博文作为学习资料整理。源码是VC++ 6.0上可运行程序,我挪到了VS2010中运行。 在VS2010中新建C++ Win32 控制台应用程序项目,创建结果截图: 1.广义表的创建: 广义表的存储结构示 ...
分类:
其他好文 时间:
2017-07-15 18:57:13
阅读次数:
203
枚举-妙趣75 / 啊哈57/黑书/花书第三章 贪心-妙趣84/黑书13/算法之道71/算导222/花书第九章 递归与分治-妙趣78/黑书19/算道29/算导16,38/花书第五章 递推-黑书28 以上/数据结构与算法分析第十章 ...
分类:
其他好文 时间:
2017-07-15 00:00:44
阅读次数:
171
一:绪论 表示时间复杂度的阶有: O(1) :常量时间阶 O (n):线性时间阶 O(㏒n) :对数时间阶 O(n㏒n) :线性对数时间阶 O (nk): k≥2 ,k次方时间阶 以下六种计算算法时间的多项式是最常用的。其关系为: O(1)<O(㏒n)<O(n)<O(n㏒n)<O(n2)<O(n3) ...
分类:
编程语言 时间:
2017-07-14 16:25:06
阅读次数:
243
链表的构建事实上也就是不断插入节点的过程。而节点的插入能够分为头插法和尾插法。头插法就是在头结点后插入该节点,始终把该节点作为第一个节点。尾插法就是在链表的最后一个节点处插入元素,作为最后一个节点。假设想要了解链表的概念和其它链表操作。请參考《数据结构与算法之链表》《C语言实现链表的基本操作》两篇文 ...
分类:
其他好文 时间:
2017-07-14 09:58:08
阅读次数:
847
一、直接插入排序 对于一个有序的序列。不断将后面的元素插入前面的有序序列。保持序列继续有序。 对于直接插入排序的思路:将要排序的元素保存。然后逐个和其前面的元素进行比較。假设前面的元素比其大,则将前面的元素后移一个。 时间复杂度为n*n void insert_sort(int a[],int n) ...
分类:
编程语言 时间:
2017-07-13 16:15:39
阅读次数:
125
未经各位前辈允许,擅自整理,还望谅解。感激不尽。 ↓↓↓↓一一一2016.9.23 如何计算时间复杂度 平均查找长度详解 ↓↓↓↓一一一2016.9.15 找工作知识储备(3) 从头说12种排序算法:原理、图解、动画视频演示、代码以及笔试面试题目中的应用(该博主博客很多面试数据结构与算法方面的干货! ...
分类:
编程语言 时间:
2017-07-11 13:23:51
阅读次数:
136