缘起:计算机技术在未来将会很重要,所以想业余做一些培训的事情,以前在公司也做过培训编程的事情,有这方面的经验。而数据结构与算法的重要性不言而喻了。编程语言选用python,上手速度快,学会以后能迅速开始学习数据结构与算法。数据结构与算法的教材选用《算法导论》。习题选自leetcode。不教很变态的算...
分类:
编程语言 时间:
2014-10-11 13:19:05
阅读次数:
238
hey,我们继续上篇文章学习树。上篇文章,我们主要讲了树的一些基本概念、定义,抽象数据结构。今天,我们要学习它的数据结构,让我们开始学习吧。 树的存储结构: 一讲到存储结构,就会想到顺序存储与链式存储,让我们来回顾一下它们的概念。顺序存储,就是用一组连续的内存地址来存储数据元素,我们一般用一维数组来...
分类:
编程语言 时间:
2014-10-10 18:10:34
阅读次数:
233
学习是一辈子的事情,对于程序员来说更是如此,所以如果没有学会享受学习过程的乐趣,那么学习将会是你人生的一个重压。以学习数据结构为例。大家都知道,对于程序员而言,数据结构是基础,是必须学会的课程。但是现在很多语言,细节都封装得很好,比如Java、.Net、PHP,几乎都不需要你用到多少数据结构与算法的...
分类:
其他好文 时间:
2014-10-09 13:18:03
阅读次数:
156
一、题目 编写支持双端队列的例程,插入与弹出操作均花费 O(1)时间二、解答 双端队列(deque,全名double-ended queue)是一种具有队列和栈性质的数据结构。 双端队列中的元素可以从两端弹出,插入和删除操作限定在队列的两边进行。 基本操作:在双端队列两端插入与删除。 ADT...
分类:
其他好文 时间:
2014-10-06 01:44:29
阅读次数:
341
一、题目 用一个数组实现三个(或多个)栈二、解答 用一个数组实现三个乃至多个栈,如果想使用一个数组构造两个栈的思想则行不通; 考虑使用静态链表,数组结点中存在两个域,关键字域与指示栈的前驱的游标,则可以使三个栈可以用一个数组表示; ADT的关键术语: Capacity: 数组的容量; S...
分类:
其他好文 时间:
2014-10-05 23:21:59
阅读次数:
216
前三天,回到老家,没有什么事,就驱车回到济南,这些天时间不能浪费了,整合一下知识,以期在假期过后,加速项目进程。学会整合资源,成就完美人生。下面是对所有知识点的整合与思考:
分类:
其他好文 时间:
2014-10-04 00:34:16
阅读次数:
223
【笔记】冒泡,选择,插入三者的排序算法时间复杂度均是O(N2)级,排序主要是执行比较和交换(复制)操作,相对来说:选择排序较冒泡排序减少了交换次数;而插入排序左边是一直保持有序的。【参考书籍】Java数据结构与算法 以下是源代码,针对数组的操作,存取元素为基本类型: 1 import java.u....
分类:
编程语言 时间:
2014-09-28 13:06:32
阅读次数:
245
详细介绍java中的数据结构本文介绍的是java中的数据结构,本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。一起来看本文吧!也许你已经熟练使用了java.util包里面的各种数据结构,但是我还是要说一说java版数据结构与算法,希望对你有帮助。线性表,链表,哈希表是常用的数据...
分类:
编程语言 时间:
2014-09-24 01:50:56
阅读次数:
238
题目描述:
二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树:
1. 若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值;
2. 若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值;
3. 左、右子树本身也是一颗二叉排序树。
现在给你N个关...
分类:
其他好文 时间:
2014-09-17 16:50:22
阅读次数:
155
算法思想(从小到大排序)
将待排序数组看左右两个序列,左序列有序,有序列无序。假设第一个数array[0]为有序列,那么array[1,N-1]为无序列.循环遍历无序列,找出array[i]在有序列中应该插入的位置,插入。例如一个乱序数组为{1,3,2,4 , 假如有序列为 { 1,3 } 无序列循环到2时 ,那么2在有序列中的位置应该是1 - 3 中间 , 所以 [ 3. . .2 )...
分类:
其他好文 时间:
2014-09-16 18:58:40
阅读次数:
329