线性表、链表、哈希表是常用的数据结构,在进行Java开发时,SDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。
一、Collection接口
Collection是最基本的集合接口,一个Coll...
分类:
编程语言 时间:
2014-06-19 10:27:16
阅读次数:
307
Hello,everybody.我们又见面了。今天我们来学习一下队列这个数据结构,let’s
Go,开始我们的征程吧。
首先,举两个生活中的常见例子。相信大家,在用电脑工作娱乐时,都会碰到这样的现象。当我们点击程序或进行其他操作时,电脑处于死机状态。正当我们准备Reset时,它突然像打了鸡血似的,突...
分类:
其他好文 时间:
2014-06-13 18:31:41
阅读次数:
326
原题地址:https://oj.leetcode.com/problems/powx-n/题意:Implement
pow(x,n).解题思路:求幂函数的实现。使用递归,类似于二分的思路,解法来自Mark Allen Weiss的《数据结构与算法分析》。代码:class
Solution: #...
分类:
编程语言 时间:
2014-06-11 08:59:33
阅读次数:
317
排序从大体上来讲,做了两件事情:
1、比较两个数据项;
2、交换两个数据项,或复制其中一项
一、冒泡排序
大O表示法:交换次数和比较次数都为O(N*N)。
算法原理:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。...
分类:
编程语言 时间:
2014-06-10 15:23:19
阅读次数:
234
数组特点:
1、大小固定
2、同一数据类型
3、下标访问
4、数据项可重复
Java数据类型:基本类型(int和double)和对象类型。在许多编程语言中,数组也是基本类型。但在Java中把它们当作对象来对待,因此在创建数组时必须使用new操作符。
有序数组与无序数组比较:最主要的好处是查找速度比无序数组快多了。不好的方面是在插入操作...
分类:
编程语言 时间:
2014-06-10 14:53:07
阅读次数:
359
关于数据结构与算法讲解的书籍很多,但是用python语言去实现的不是很多,最近有幸看到一本这样的书籍,由Brad Miller and David
Ranum编写的《Problem Solving with Algorithms and Data Structures Using Python》.....
分类:
编程语言 时间:
2014-06-09 16:16:53
阅读次数:
276
树的遍历
在学习完成树的基本结构以后,我们开始研究一些树的应用模式。访问树的全部节点,一般有三种模式,这些模式的不同之处,仅在于访问节点的顺序不同。我们把这种对节点的访问称为“遍历”,这三种遍历模式叫做前序、中序和后序。下面我们对遍历模式作更仔细的定义,同时研究使用这延续模式的例子。
前序遍历...
分类:
编程语言 时间:
2014-06-08 05:49:56
阅读次数:
323
hello,everybody,今天我们来学习线性表的最后两种形式,循环链表、双向链表。这两种链表,是链式存储结构的不同形式。书归正传,我们先来看看循环链表吧。
大家思考一个问题,我们把线性表各个元素比作下图的路线图上的城市: 我们的线性表各个结点的指针,都是指向唯一的后继结点,线性表的终端结点的指...
分类:
其他好文 时间:
2014-06-07 06:24:12
阅读次数:
338
*********************************************
---算法与数据机结构---数据结构:由于计算机技术的发展,需要处理的对象不再是纯粹的数值,还有像字符,表,图像等具有一定结构的数据,需要用好的算法来处理这些数据。我们把现实中大量而又复杂的问题以特定的数据类...
分类:
其他好文 时间:
2014-06-06 16:19:37
阅读次数:
257
基本语法C面向过程思想:程序=(数据结构)+(算法)数据结构与算法分离,以算法(函数)为主。C++面向对象思想:程序=(数据结构+算法)数据结构(属性)与算法(操作)绑成一个类,定义一个个对象对象=(数据结构+算法)
,程序=(对象+对象+对象+……)面向对象程序设计的程序员有两类:1.面向对象应用...
分类:
编程语言 时间:
2014-06-06 15:42:06
阅读次数:
342