查找
根据给定的某个值,在查找表中确定一个其关键字(唯一的标识一个记录)等于给定值的数据元素或数据记录。静态查找:只查找,不修改元素[线性表、顺序查找、二分查找]
动态查找:查找时,插入或者删除元素[二叉排序树]顺序表查找
顺序查找(针对静态查找表),也叫线性查找O(n),从头开始遍历,直到最后一个记录。
优化:添加哨兵//有哨兵的顺序查找
int foo(int *a,int n,int...
分类:
其他好文 时间:
2015-06-09 17:18:33
阅读次数:
182
说明:代码是可以运行的,但是发表在博客上后复制到编译器里面报N多错误,找了半天原因是网页里面生成了一些空白字符,这些字符编译器无法识别。因此使用了2种插入格式插入代码。第一个带注释解释的代码不可复制,最下面的第二个代码可以正常复制代码如下:#include #include //rand...
分类:
编程语言 时间:
2015-06-09 13:24:35
阅读次数:
146
用顺序表保存输入的数据,再用快速排序法给输入的数据排序,并打印出每趟排序后的结果#include#include#include #define LIST_INIT_SIZE 100typedef int Status;typedef int ElemType;typedef struct{ Ele...
分类:
编程语言 时间:
2015-06-08 21:29:30
阅读次数:
161
2、蛤蟆的数据结构笔记之二线性表
到了笔记二了,每个笔记开头都应该弄个语句激励一下自己和小伙伴。
“人生中最重要的不是位置,而是前进的方向”
这次咱们学习表,没错是表。什么表?额,汉字真是博大精深,没错,只是个表。不要想歪了。
欢迎转载,转载请标明出处:
1. 定义
线性表(亦作顺序表)是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之...
分类:
其他好文 时间:
2015-06-08 09:51:55
阅读次数:
123
三大数据结构链表、树和图,顺序表作为其中的一种,可以说是平时编程中最长使用到的。List接口是顺序表在java中的实现,它有很多子接口和实现类,平时的编程中使用起来非常方便。但是更进一步,我们有必要对其实现和原理进行理解,并和数据结构中所学比较,并应用于平时的编程中,编写出高效率的代码。
首先看下list接口的层次关系,下图由本人根据jdk的类结构简单画的:
从上图可以看出,lis...
分类:
编程语言 时间:
2015-06-06 14:57:08
阅读次数:
199
要求:用单链表来实现逆制?
注明:之前用的顺序表实现过逆制,现在用链式结构来实现逆制
#include
#include
typedef struct Node
{
int data;
struct Node *next;
}Node;
void Init(Node *phead)//初始化链表
{
phead->data=0;
phead->next=NULL;
}
void...
分类:
其他好文 时间:
2015-06-05 22:40:06
阅读次数:
172
线性表线性表是最简单、最基本、最常用的数据结构。数据元素 1 对 1的关系,这种关系是位置关系。特点(1)第一个元素和最后一个元素前后是没有数据元素,线性表中剩下的元素是近邻的,前后都有元素。(2)线性表中的元素是有限的(List),线性表中的数据类型一致。(3)线性表表示方法 L={a1,a2,a...
分类:
编程语言 时间:
2015-06-05 19:09:51
阅读次数:
201
今天研究了一下十字链表,当稀疏矩阵的内部元素经常变化时,用三元顺序表操作起来比较麻烦,故用链表来实现对稀疏矩阵的存储,由于矩阵具有二维特性,单链表显然不适用,采用十字链表来实现对稀疏矩阵的存储。
十字链表有三种结点,1.总表头结点 2.行列表头结点 3.非零元素结点。下面一一介绍
1.总表头结点
共有5个子域
Row
Col
Next
...
分类:
其他好文 时间:
2015-06-04 22:54:57
阅读次数:
456
由于通过顺序表代码的复用实现队列的过程中,进队列要从队列的最后一个元素进入,所以造成时间复杂度加大,现通过引进front、rear优化队列实现方法
front:代表头元素的下标
rear:代表队尾下一个元素的下标
一、SeqQueue.h
#ifndef _SEQQUEUE_H_
#define _SEQQUEUE_H_
typedef void S...
分类:
其他好文 时间:
2015-05-29 18:13:01
阅读次数:
145