E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
数据结构学习笔记
数据结构学习笔记
之递归的应用
求斐波那契数列的一个小程序,当时看的时候觉得人家会数据结构的就是牛啊!短短几步就搞定了,就给记录下来了,以后好借鉴:#include intfibonacci(intn) { if(n>1) { returnfibonacci(n-1)+fibonacci(n-2); } elseif(n==1) { return1; } elseif(n==0) { return0; } } intmain
Blue___Ocean
·
2014-08-06 16:00
数据结构学习笔记
(12.递归的应用之八皇后回溯算法)
本节知识点:1.递归与回溯: a.回溯算法的基本思想:从问题的某一种状态出发,搜索可以到达的所有状态。当某个状态到达后,可向前回退,并继续搜索其他可达状态。当所有状态都到达后,回溯算法结束! b.对于回溯算法,在前面KMP匹配中就利用了这个思想,只不过当时KMP中定义了一个node数组(起到了一个地图的作用,记录了每种回溯情况的可能)。而这节中,是利用函数的活动对象保存回溯算法的状态数据,因此
qq418674358
·
2014-04-16 23:00
数据结构
算法
递归
C语言
八皇后
数据结构学习笔记
(11.递归的应用之常用递归算法)
本节知识点:1.递归的定义: a.递归是一种数学上分而自治的思想,递归将大型复杂问题转化成为与原问题相同但规模较小的问题进行处理。 b.递归函数:即函数自身调用自身的函数。 c.递归需要有边界条件:当边界条件不满足时,递归继续进行、当边界条件满足时,递归停止! d.递归需要注意的问题:在递归层数不断增多的过程中,程序栈溢出的风险也在不断增大!!!2.斐波拉契数列递归解法:示例代码:#inc
qq418674358
·
2014-04-16 17:00
递归
C语言
递归算法
数据结构学习笔记
(9.栈和队列的特殊实现)
本节知识点:1.使用两个链式栈实现链式队列:代码如下:LinkQueue.c文件:/*************************************************************************************** 文件名:LinkQueue.c 头文件:LinkQueue.h 时间:2013/04/02 作者:Hao 功能:利用两个链式栈实现的链式队列
qq418674358
·
2014-04-02 17:00
数据结构
C语言
栈
数据结构学习笔记
(8.循环队列与链队列)
本节知识点:1.队列的概念: a.队列也是一种特殊的线性表,队列仅在线性表的两端进行操作,队头:取出数据元素的一端、队尾:插入数据元素的一端! b.队列的性质:先进先出(FIFO) 对于普通的链式队列和顺序队列来说,具体的实现方式跟链式栈和顺序栈一样,只不过无所谓哪边是队列头、哪边是队列尾。因为时间复杂度必然有一端为O(1),另一端为O(N)!对于这样的复杂度,我们就应该想办法使它都降到O
qq418674358
·
2014-03-31 23:00
数据结构学习笔记
(10.KMP模式匹配算法)
本节知识点:1.KMP模式匹配算法,是为了避免普通字符串匹配算法中,没有必要的重复比较而设计的!在普通字符串比较中,通常有很多重复性的比较,KMP就是利用一个next数组当做索引,来避免这些重复性的比较!2.对于具体算法的分析,本节不做过多叙述,详细可以参考一书中的P135页。本节只做代码的保存!示例代码:/*********************************************
qq418674358
·
2014-03-31 18:00
数据结构学习笔记
(7.栈的应用及简单的计算器)
本节知识点:1.栈的应用一:编译器中成对符号匹配的检查!如:括号:()、{}、[] 引号:'单引号'、“双引号” 这些符号匹配情况的检查!算法思路:这里有一个问题是需要注意的:就是单引号和双引号在使用的时候,是需要借助转移字符的!示例代码:main.c文件:#include #include #include"LinkStack.h" /*****************************
qq418674358
·
2014-03-22 11:00
数据结构学习笔记
(6.顺序栈及链式栈)
本节知识点:1.数据结构中栈的定义:栈就是一种特殊的线性表,满足后进先出(LIFO)规则的线性表,既然是线性表,就存在顺序栈和链式栈!2.栈仅能在线性表的一端进行操作:栈顶(允许操作的一端),栈底(不允许操作的一端)如图:3.顺序栈是在顺序表的基础上进行了一层代码封装而实现的,链式栈是在单链表的基础上封装得到的!需要注意的是,对于顺序表我们要将,顺序表尾部当做栈顶,因为如果放在头部的话,出栈和入栈
qq418674358
·
2014-03-19 14:00
数据结构学习笔记
-02 算法
算法:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。高斯算法:1-100相加1 +2+3+4+。。。+99+100100+99+98+97+。。。+2+1101+101+101+。。。+101+101一百个101相加 1-100的和 =101*100/2 算法的特性:输入输出:算法具有零个或多个输入,算法至少有一个或多个输出。有穷性:指算法在执
sziicool
·
2014-01-21 15:00
数据结构学习笔记
-01 数据结构绪论
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。基本概念和术语:数据:数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号的集合。数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小单位。数据对象:是性
sziicool
·
2014-01-17 14:00
数据结构学习
数据结构学习笔记
2--希尔排序
希尔排序比简单排序快得多,大约需要O(N×(logN)2)的时间,而且容易实现。希尔排序是基于插入排序,只是希尔排序不是比较相邻的数据,而是比较一定间隔的两个数据。我们在选择排序算法时,基本上都可以使用希尔排序,如果有特殊要求或者算法不够快,在选择其他的排序算法。我们从插入排序的缺陷入手,看看问题:问题:插入排序思路:在标记符左边的数据是已经排序的,而右边的数据是没有排序,它有一个临时变量存储标记
weixin_30347335
·
2014-01-02 22:00
数据结构与算法
大数据
数据结构学习笔记
3——单链表
1.相对于顺序表的线性存储,顺序表的链式存储(单链表为例)最突出的优点:对元素的插入与删除非常快;顺序表的线性存储插入和删除需要移动大量的元素,操作速度缓慢;而获取元素的速度相对而言比较快;单链表刚好和他相反,插入和删除很快,获取元素速度比不上线性表;2.单链表的形式:3.单链表的插入和删除:4.除了插入和删除的其他操作:创建单链表、销毁单链表、清空单链表、获取单链表长度等等;5.代码实现:Lin
scottly1
·
2013-11-22 17:00
数据结构学习笔记
1——顺序表
知识要点:1.数据之间的逻辑结构: 集合结构:数据元素之间没有特别的关系,仅同属相同集合 线性结构:数据元素之间是一对一的关系 树形结构:数据元素之间存在一对多的层次关系 图形结构:数据元素之间是多对多的关系2.数据之间的物理结构: 顺序存储结构:数据存放在地址连续的内存单元; 链式存储结构:数据存放的内存单元不连续,通过保存地址值的方式”连接“在一起;3.数据结构与算法 数据结构=
scottly1
·
2013-11-14 18:00
数据结构
C语言
线性表
数据结构学习笔记
顺序表查询,删除,插入,修改元素时候,应该考虑顺序表是否溢出;是否为空;对应处理的元素是否合理;顺序链表查删改操作,还需要考虑是否为头尾结点。
xunmengpiaoyun
·
2013-11-05 14:00
数据结构学习笔记
最近在看国嵌唐老师的数据结构视频,觉得还不错,所以就把笔记记录下来本节知识点:1.数据之间的逻辑结构: 集合结构:数据元素之间没有特别的关系,仅同属相同集合 线性结构:数据元素之间是一对一的关系 树形结构:数据元素之间存在一对多的层次关系 图形结构:数据元素之间是多对多的关系2.数据之间的物理结构 顺序存储结构:将数据存储在地址连续的存储单元里 链式存储结构:将数据存储在任意的存储单
·
2013-09-05 19:00
数据结构学习笔记
(5.线性表之双向循环链表)
在前两节的基础上,实现双向循环链表。本节知识点:1.双向循环链表的结构:上面就是双向循环链表的结构图,对于双向链表的插入有3个位置,A、B、C。但是在插入第一个元素的时候(其实插入第一个元素的时候,就是循环建立的时候),有些特殊,所以就画了一个图,如下:本节代码:DcLinkList.c:/******************************************************
qq418674358
·
2013-08-26 15:00
数据结构学习笔记
(4.线性表之双向链表)
本节知识点:1.为什么选择双向链表:因为单向链表只能一直指向下一个链表元素,不能获得前一个元素,如果要进行逆序访问操作是极其耗时的,所以引入双向链表。2.双向链表的结构:在单向链表的基础上增加了一个链表结构pre,如图。注意:链表第一个元素的前驱pre不是指向头结点head,而是指向NULL,链表尾结点的后继next指向NULL3.如何将一个单向链表改成双向链表: 第一步(改变链表的结构加入前驱
qq418674358
·
2013-08-19 23:00
数据结构学习笔记
(3.线性表之循环链表)
本节知识点:1.为什么选择循环链表:因为有很多生活中结构是循环的,是单链表解决不了的,比如星期、月份、24小时,对于这些循环的数据,循环链表就体现出它的优势了。2.循环链表的结构:循环链表就是从头结点后面开始,尾节点的next不再是NULL了,而是头结点后面的第一个链表元素,如上图。3.如何创建一个循环链表:步骤一:步骤二:无论是头插法,还是尾插法都没有关系,都可以创建完成这个循环链表。4.如何将
qq418674358
·
2013-08-19 18:00
数据结构学习笔记
(3.线性表之静态链表及柔性数组)
本节知识点:1.静态链表到底是什么:链表就是链式存储的线性表,但是它分为动态和静态两种,所谓动态就是长度不固定,可以根据情况自行扩展大小的,静态链表就是长度大小固定的,链式存储的线性表。2.本节的静态链表和顺序表很像(其实和数组也很像),准确的来说就是利用顺序表实现的,只是这个顺序表,不是顺序排列的,是通过一个next变量,连接到下一个变量的。如图:3.唐老师说静态链表是在一些没有指针的语言中使用
qq418674358
·
2013-08-16 00:00
数据结构学习笔记
(2.线性表之单链表)
线性表有两种:一种是顺序存储的叫顺序表,上节已经说过了,另一种是链式存储的叫链表,本节说的是单链表,即单向链表(每个节点中只包含一个指针域)。本节知识点:1.链表的好处:对于动态链表,可以对未知数据量的数据进行存储。插入和删除比顺序表方便的多,不用大量移动。 链表的缺点:除了数据信息,还需对额外的链表信息进行分配内存,占用了额外的空间。访问指定数据的元素需要顺序访问之前的元素。2.链表的基本概念
qq418674358
·
2013-08-09 01:00
数据结构学习笔记
(1.大O表示法和顺序表)
最近在看国嵌唐老师的数据结构视频,觉得还不错,所以就把笔记记录下来本节知识点:1.数据之间的逻辑结构: 集合结构:数据元素之间没有特别的关系,仅同属相同集合 线性结构:数据元素之间是一对一的关系 树形结构:数据元素之间存在一对多的层次关系 图形结构:数据元素之间是多对多的关系2.数据之间的物理结构 顺序存储结构:将数据存储在地址连续的存储单元里 链式存储结构:将数据存储在任意的存储单
qq418674358
·
2013-08-06 01:00
数据结构学习笔记
(3)_使用数组实现简单线性表功能
线性表(List):零个或多个数据元素的有限序列。关键字有两个:“零个”也就是说线性表是可以为空的;“有限序列”不管多长的线性表,总要有一个最大长度,并且元素与元素之间是一对一的关系,也即有一定的顺序。在Java中有一个很“神奇的”类,就是ArrayList。它神奇的地方在于它使用起来和数组一样简单,但却提供了更多更方便的方法。感觉上ArrayList是可以无限添加元素的!这一点太方便了,它是怎么
dyllove98
·
2013-07-10 12:00
数据结构学习笔记
(3)_使用数组实现简单线性表功能
线性表(List):零个或多个数据元素的有限序列。关键字有两个:“零个”也就是说线性表是可以为空的;“有限序列”不管多长的线性表,总要有一个最大长度,并且元素与元素之间是一对一的关系,也即有一定的顺序。在Java中有一个很“神奇的”类,就是ArrayList。它神奇的地方在于它使用起来和数组一样简单,但却提供了更多更方便的方法。感觉上ArrayList是可以无限添加元素的!这一点太方便了,它是怎么
dyllove98
·
2013-07-09 09:00
数据结构学习笔记
(2)_一维数组及其简单运用
不知不觉大学过了三年,最遗憾的就是在大二没把《数据结构》和《算法》这两门课程学好~~~现在每天花一点时间把这两个内容回顾一下,算是给自己的一点目标吧!数组(Array):数组算是最简单的也是最基本的结构之一。在Java中,我们声明一个数组有两种形式:int[]array={1,2,3};或intarray[]={1,2,3};这两种形式都是可以的,但推荐第一种,为什么呢?首先,int[]和int是
dyllove98
·
2013-07-08 14:00
数据结构学习笔记
(六) 排序方法:冒泡 插入 选择 快速
冒泡排序:所有相邻两个元素比较,若左边>左边,则交换若本轮发生了交换,则重复上一步O(N^2)#include #include usingnamespacestd; voidsort(int*a,intn) { boolchanged=false; do { changed=false; for(inti=1;ia[i]) { swap(a[i-1],a[i]); changed=true;
a8887396
·
2013-05-11 09:00
数据结构学习笔记
(五) 二分法查找(已排序数据中的查找方法)
二分法:(分治+递归)binarysearch:用于在一组已排序数据中查找需要的值的位置在一组已排序数据如果数值个数为0返回空否则如果中间的是目标数据成功返回该指针否则如果目标数据比中间小返回在左串中查找的结果否则在右串中查找的结果#include usingnamespacestd; classPerson { stringname; intage; stringaddr; public:
a8887396
·
2013-05-11 09:00
数据结构学习笔记
(四) 二叉树及其基本操作
二叉树:方便查找搜索速度快经常需要搜索的数据放入二叉树#include usingnamespacestd; typedefcharT; #include #include classbst//二叉查找树 { structNode { Tdata; Node*L; Node*R; //结构也可以写构造函数 Node(constT&d):data(d),L(),R(){}//LR使用零初始化 No
a8887396
·
2013-05-11 09:00
数据结构学习笔记
(三) 队列及其基本操作
1数组队列#include usingnamespacestd; constintMAX=5; classQueue { inta[MAX]; intb;//开始位置 intn;//数量 public: Queue():b(0),n(0){} Queue&push(constT&d) { if(n==MAX)throw"队列满"; a[(b+n++)%MAX]=d; return*this;
a8887396
·
2013-05-08 00:00
数据结构学习笔记
(二) 堆栈及其基本操作
1数组栈写法#include #include usingnamespacestd; typedefstringT; classStack { Ta[5];//如果是固定的直接写个数组 intcur; public: Stack():cur(0){} //对象没有占用其他资源如打开文件动态分配内存等所以不需要析构 voidpush(constT&)throw(constchar*);//数据入栈
a8887396
·
2013-05-07 23:00
数据结构学习笔记
索引
做了1年程序了。。居然还不会数据结构,实在有点说不过去。这次花点时间,把几种常用的数据结构学会。 目前看的是 赫斌数据结构自学视频系列, 感觉不错。 ============================================== 下面列出常用数据结构,和这些结构的重要概念。我觉得以下这些是必须掌握的。 线型数据结构 -数组Array -动态可加减长度数
·
2013-05-04 11:00
数据结构
数据结构学习笔记
(一) 链表及其基本操作
学习要点:1零初始化 d=T() 如果T是基本数据类型则表示0 如果T是自定义数据类型则使用无参构造函数2内部类型成员:定义一个类型,受到访问权限影响,一般外部不能访问3内部成员指向动态内存时需要重写析构赋值拷贝函数4指针的引用Node*&p表示指针本身可以用来改变指针的指向.一般在返回值和形参中出现这个02list.h#ifndefLIST_H #defineLIST_H #include us
a8887396
·
2013-04-29 19:00
数据结构学习笔记
之三(二叉树)
一、树的相关术语结点:表示树中的元素;结点的度:结点拥有的子树数;树的度:一棵树中最大的结点度数;叶子:度为0的结点;孩子:一个结点的后驱结点;双亲:一个结点的前驱结点;兄弟:同一双亲的孩子;结点的层次:从根结点开始计算,根为第一层,根的直接后继为第二层,其余各层依次类推;深度(depth):树中结点的最大层次数;森林:是m(m≥0)棵互不相交的树的集合;有序树:树中结点同层内从左到右有次序排列,
XIAXIA__
·
2013-04-10 20:00
数据结构学习笔记
(二)各种排序
一选择排序1.1简单选择排序基本思想:在当前无序序列中选择一个关键字最小的记录,并将它与最前端的记录交换。算法分析:算法分析:对无序序列进行n-1次扫描,第i次扫描要进行n-i次比较,则总的比较次数为(n-1)+(n-2)++2+1=n(n-1)/2;每交换一次需要进行三次记录移动,其最大移动次数为3(n-1)。得总的时间复杂度为O(n^2)。1.2堆排序基本思想:堆顶元素具有最大值,若输入堆顶元
XIAXIA__
·
2013-04-10 10:00
数据结构学习笔记
之表、栈、队列
转载请注明出处:http://blog.csdn.net/droyon/article/details/86826331、抽象数据类型是带有一组操作的一些对象的集合。它是数学抽象,大体包含了操作和数据两部分。2、表:对于任何非空表,除了第一个元素,其后的每个元素都有一个前驱,除了最后一个元素,其前的每一个元素都有一个后继。对表上的数据,可以有查找、插入、删除、打印,查找某个元素是否在数组中包含等操
hailushijie
·
2013-03-17 01:00
数据结构之表栈队列
数据结构学习笔记
之幂运算
转载请注明出处:http://blog.csdn.net/droyon/article/details/8680080幂运算:就是n个x相乘。例如:求x的三次方、四次方、n次方等。那么我们要计算x的n次幂,那么我们要连续执行n次x的相乘,花费时间为线性时间。现在有一个O(logN)的算法。原理:如果n为偶数,x的n次方==x的n/2次方*x的n/2次方相乘。如果n为奇数,x的n次方==x的n/2次
hailushijie
·
2013-03-16 01:00
数据结构
幂运算算法
数据结构学习笔记
之欧几里的算法
转载请注明出处:http://blog.csdn.net/droyon/article/details/8680073欧几里的算法:计算最大公因数。两个整数的最大公因数就是同时整除二者的最大整数。算法连续计算余数直至余数为0为止,最后的非零余数最时最大公因数。案例:package最大公因数; publicclassMaxCommonNum{ publicstaticvoidmain(String
hailushijie
·
2013-03-16 01:00
最大公因数
欧几里的算法
数据结构学习笔记
之折半查找
转载请注明出处:http://blog.csdn.net/droyon/article/details/8680044分治法和折半查找都是时间复杂度为O(logN)。折半查找:给定一个整数X和整数数组A[],元素为a,b,c....n,后者这个数列已经预先排序并在内存中,求下标i使得A[i]=X,如果数组内不存在X,则返回-1.解法:如果按照数组的内容,从左到右顺序扫描一遍,那么将要花费线性时间。
hailushijie
·
2013-03-16 01:00
折半查找
数据结构学习笔记
1
数据结构定义 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。记为:Data-Structure=(D,R) 其中D是数据元素的集合,R是该集合中所有元素之间的关系的有限集合。 名词解释: 1.数据:信息的载体,能被计算机识别,存储和加工处理2.数据元素:数据的基本单位,可由若干个数据项组成,数据项是具有独立含义的最小标识单位3.数据的逻辑结构-
turnover
·
2013-01-29 15:55
数据结构
学习
数据结构学习笔记
(线性表)
//Time : 2013-01-07 //List //reference by nowamagic #include #include"malloc.h" #include #include"time.h" #define ERROR 0 #define OK 1 #define FALSE
JinChuanXu
·
2013-01-07 11:03
数据结构
线性表
基本的
数据结构学习笔记
:kref
本文简单介绍了设备驱动模型中最最简单的一个数据结构:kref,它作为内核中最基本的引用计数而存在。首先直观地介绍该数据结构及操作它的一些方法,然后再介绍其具体的用法。参考:kref.hkref.ckref.txt一、kref及操作kref的方法structkref { atomic_trefcount;};可以看到kref结构体的成员只有一个原子变量refcount,为什么还要用kref结构体来包
rain0993
·
2013-01-04 10:00
数据结构学习笔记
--- 排序(Gnome排序、梳排序)
1.Gnome排序是插入排序的变形,唯一的区别在于它是使用类似冒泡排序的Swap方法将选择出来的元素移动到合适的位置。也因此它是Stable的排序算法。其思想如下:GnomeSortisbasedonthetechniqueusedbythestandardDutchGardenGnome(Du.:tuinkabouter).Hereishowagarden gnomesortsalineoffl
whz_zb
·
2012-03-26 22:00
数据结构学习笔记
--- 排序(归并排序、基数排序)
1.引言 本文主要讲解一些常见的排序算法。2.归并排序归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。如设
whz_zb
·
2012-03-25 22:00
数据结构学习笔记
--- 排序(选择排序、堆排序)
1.引言 本文主要讲解一些常见的选择排序和堆排序。2.选择排序选择排序的基本思想是每步从待排序的记录中选出排序码最小的记录,顺序存放在已排序的记录序列的后面,直到全部排完。选择排序中主要使用直接选择排序和堆排序。直接选择排序(不稳定) 直接选择排序的过程是:首先在所有记录中选出序码最小的记录,把它与第1个记录交换,然后在其余的记录内选出排序码最小的记录,与第2个记录交换......依次类推,
whz_zb
·
2012-03-24 21:00
数据结构学习笔记
--- 排序(冒泡排序、快速排序)
1.引言 本文主要讲解一些常见的排序算法。2.冒泡排序冒泡排序是经过n-1趟子排序完成的,第i趟子排序从第1个数至第n-i个数,若第i个数比后一个数大(则升序,小则降序)则交换两数。#include"ds.h" #defineN8 //将a中整数序列重新排列成自小至大有序的整数序列(起泡排序) voidbubble_sort(inta[],intn) { inti,j,t; Statuscha
whz_zb
·
2012-03-24 20:00
数据结构
算法
struct
ini
数据结构学习笔记
--- 排序(插入排序、希尔排序)
1.引言 本文主要讲解一些常见的排序算法。2.插入排序(1) 直接插入排序(straightinsertionsort)的作法是:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中;第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。(
whz_zb
·
2012-03-24 20:00
数据结构
算法
struct
shell
ini
C#基础与常用
数据结构学习笔记
1.接口interface接口相当于没有方法实现的抽象类,接口方法不要加各种访问级别:例如public,private等。跟随者杨老大,写了如下代码:publicinterfaceFlyable{voidfly();}publicinterfaceRunable{voidrun();}publicclassBird:Flyable,Runable{#regionFlyable成员publicvoi
Edison Zhou
·
2012-03-17 17:00
数据结构学习笔记
--- 二叉排序树和平衡二叉树(动态查找表)
1.引言 本文主要二叉排序树和平衡二叉树。2. 二叉排序树#include"ds.h" #defineN10//数据元素个数 typedefintKeyType;//设关键字域为整型 structElemType//数据元素类型 { KeyTypekey; intothers; }; typedefElemTypeTElemType; typedefstructBiTNode { TElem
whz_zb
·
2012-03-13 23:00
数据结构
算法
struct
null
delete
存储
数据结构学习笔记
--- 查找(静态查找表)
1.引言 本文主要讲解静态查找表。静态查找表在查找的过程中不改变表的状态——不插不删。他适合用于不变动或不常变动的表的查找。如高考成绩表、本单位职工信息表等。下面分别介绍顺序查找,有序表的折半查找,静态树表的查找。2. 静态查找表(1)顺序查找、有序表的折半查找#include"ds.h" #defineTEST_BIN #defineEQ(a,b)((a)==(b)) #defineLT(a
whz_zb
·
2012-03-10 11:00
数据结构
算法
struct
null
search
存储
数据结构学习笔记
--- 查找(哈希表)
hashing定义了一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法,称为散列法,也叫哈希法。由于通过更短的哈希值比用原始值进行数据库搜索更快,这种方法一般用来在数据库中建立索引并进行搜索,同时还用在各种解密算法中。设所有可能出现的关键字集合记为u(简称全集)。实际发生(即实际存储)的关键字集合记为k(|k|比|u|小得多)。|k|是集合k中元素的个数。散列方法是使用函数
whz_zb
·
2012-03-06 22:00
数据结构
算法
struct
null
Random
存储
数据结构学习笔记
--- 图(邻接表)
1. 图(邻接表)#include"ds.h" //图的数组(邻接矩阵)存储表示 #defineINFINITYINT_MAX//用整型最大值代替∞ #defineMAX_VERTEX_NUM20//最大顶点个数 #defineMAX_NAME5//顶点字符串的最大长度+1 #defineMAX_INFO20//相关信息字符串的最大长度+1 typedefintVRType;//顶点关系类型
whz_zb
·
2012-03-06 19:00
数据结构
算法
struct
null
存储
vb
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他