![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Data Structure
-FIGHTING-
这个作者很懒,什么都没留下…
展开
-
链式表的非递减数列合并
/*包含头文件*/#include#include#include/*宏定义和单链表类型定义*/#define ListSize 100typedef int DataType;typedef struct Node{ DataType data; struct Node *next;}ListNode,*LinkList;void MergeList(Link原创 2015-07-07 17:51:00 · 949 阅读 · 0 评论 -
图的遍历算法
1.深度优先遍历基本思想:首先从图中某个顶点v0出发,访问此顶点,然后依次从v0相邻的顶点出发深度优先遍历,直至图中所有与v0路径相通的顶点都被访问了;若此时尚有顶点未被访问,则从中选一个顶点作为起始点,重复上述过程,直到所有的顶点都被访问。可以看出深度优先遍历是一个递归的过程。如下图中的一个无向图其深度优先遍历得到的序列为:0->1->3->7->4->2->5->62.广度转载 2017-12-06 10:55:52 · 738 阅读 · 0 评论 -
数据结构-循环链表
循环链表 循环链表是指链表中最后那个链结点的指针域存放指向链表最前面哪个结点的指针,整个链表形成了一个环说明 1.头结点的设置要根据实际需要确定2.对于采用循环链表作为存储结构的线性表,若链表设置了头结点,则判断空表的条件是list->link = list3.对于循环链表,如何判断是否遍历了链表一周?求非空线性链表的长度原创 2017-10-31 17:09:19 · 542 阅读 · 0 评论 -
链式存储结构的特点
链式存储结构的特点1.优点1.存储空间动态分配,可以根据实际需要使用2.不需要地址连续的存储空间3.插入/删除操作只须通过修改指针实现,不必移动数据元素,操作时间效率高(无论位于链表何处无论链表长度如何,插入和删除操作的时间都是O(1))2.缺点1.每个链结点需要设置指针域(存储密度小)2.是一种非随机存储结构,查找、定位等操作要通过原创 2017-10-31 17:04:48 · 16120 阅读 · 1 评论 -
数据结构-线性表
线性表 线性表的基本操作1、创建一个新的线性表2、求线性表的长度3、检索线性表中第i个数据元素(1 )4、根据数据元素的某数据项(通常称为关键字)的值求该数据元素在线性表中的位置 5、在线性表的第i个位置上存入一个新的数据元素6、在线性表的第i个位置上插入一个新的数据元素7、删除线性表中第i个数据元素8、对线性表中的数据元素按原创 2017-10-31 17:03:36 · 436 阅读 · 0 评论 -
数据结构-算法
线性结构 :线性表、堆栈、队列、串、文件等 非线性结构:树、二叉树、图、集合等顺序存储结构 数据元素之间的逻辑关系通过地址直接反应链式存储结构 数据元素之间的逻辑关系通过指针间接反应索引存储结构散列存储结构逻辑结构存储结构 查找、插入、删除等操作的时间效率较高,但存储空间开销较大原创 2017-10-31 16:56:06 · 261 阅读 · 0 评论 -
十大编程算法
算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策略来把一个串行(转载 2015-07-23 12:04:17 · 484 阅读 · 0 评论 -
顺序表的非递减数列合并
#include /*包含输入输出头文件*/#define ListSize 100typedef int DataType;typedef struct{ DataType list[ListSize]; int length;}SeqList;void InitList(SeqList *L) /*将线性表初始化为空的线性表只需要把线性表的长度le原创 2015-07-07 17:58:55 · 2146 阅读 · 0 评论 -
线性表-顺序存储
#include "stdio.h"#include "stdlib.h"#include "io.h"#include "math.h"#include "time.h"#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 /* 存储空间初始分配量 */typedef in原创 2015-07-07 18:01:57 · 602 阅读 · 0 评论 -
八大排序算法
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键转载 2017-12-06 11:08:16 · 227 阅读 · 0 评论