算法概述:要求实现将一条单向链表反转并考虑时间复杂度。 算法分析: 数组法(略): 将列表元素逐个保存进数组,之后再逆向重建列表 点评:实现逻辑最简单,需要额外的内存开销。 移动指针: 通过三个指针逐个从链表头开始逐一反转链表元素的指针 点评:不需要额外的内存开销,会改变原始链表。 递归: 以递归的 ...
分类:
编程语言 时间:
2017-04-16 17:01:37
阅读次数:
137
1.实现一个含有特殊功能的栈结构:在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作getMin> 要求: 1)pop/push/getMin 操作的事件复杂度都为O(1) 2)设计的栈类型可以使用现成的栈结构 2.编写一个类,只能用两个栈结构实现队列,支持队列的基本操作(push,pop)。 ...
分类:
编程语言 时间:
2017-04-13 23:28:37
阅读次数:
372
一、简介 众所周知,线性表是数据结构的基础,通常有两种实现方式:数组和链表。栈和队列是最常用的数据结构,它们基于线性表实现。 二、栈 定义:栈是限定仅在表尾进行插入和删除操作的线性表,即FILO。 栈被经常类比于弹夹,即先被压如弹夹的子弹最后被打出。根据线性表的实现方式得知,栈的实现方式有两种:数组 ...
分类:
编程语言 时间:
2017-04-12 02:56:07
阅读次数:
277
javascript数据结构与算法-- 插入节点、生成二叉树 ...
分类:
编程语言 时间:
2017-04-11 17:09:11
阅读次数:
271
转载:http://www.jianshu.com/p/42f81846c0fb?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 一、概述 以前看到这样一句话,语言只是工具,算法才是程序设计的灵魂。的确,算法在计算机科学中的地位 ...
分类:
编程语言 时间:
2017-04-11 15:04:44
阅读次数:
288
1.什么是数据结构 用计算机解决一个具体的问题,需要以下几个步骤: 从具体问题抽象出一个适当的数学模型; 设计一个解此数学模型的算法; 编出程序; 进行测试、调整直至得到最终解答。 寻求数学模型的实质: 分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。 很多 ...
分类:
编程语言 时间:
2017-04-09 23:10:59
阅读次数:
414
Leetcode 题号:#19,#21,#35,#70,#100,#121 ...
分类:
编程语言 时间:
2017-04-09 19:46:15
阅读次数:
202
看数据结构与算法分析Java语言描述的时间复杂度分析时,看到经典的最大子序列和问题,想起来这到以前用C++写过,现在学了Java试一下能不能AC。 PS:不知为什么我前面用System.out.printf()函数一直输出格式错误,交了好几遍都不行,后来改成System.out.println()又 ...
分类:
其他好文 时间:
2017-04-09 09:19:13
阅读次数:
169
第一阶段 1.Html+Css 2.Html5+Css3 3.JavaScript 4.Jquery 第二阶段 1.计算机组成原理 2.Java初级 3.数据结构与算法 4.Orcale初级 5.JDBC 6.计算机网络基础 6.Servelt/JSP 7.Python初级 第三阶段 1.JavaS ...
分类:
编程语言 时间:
2017-04-03 20:04:15
阅读次数:
155
简述顺序存储结构和链式存储结构的优缺点 ① 顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须是连续的。 优点:存储密度大(=1),存储空间利用率高。缺点:插入或删除元素时不方便。 ②链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点 ...
分类:
编程语言 时间:
2017-03-31 11:58:33
阅读次数:
129