
数据结构及算法基础
数据结构及算法基础
南山芽木
这个作者很懒,什么都没留下…
展开
-
C - 顺序表应用4-2:元素位置互换之逆置算法(数据改进)
C - 顺序表应用4-2:元素位置互换之逆置算法(数据改进)Description一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N)、空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。注意:交换操作会有多次,每次交换都是在上次交换完成后的顺序表中进行。Input第一原创 2020-10-19 17:39:38 · 122 阅读 · 0 评论 -
SDUT oj A - 顺序表应用1:多余元素删除之移位算法
A - 顺序表应用1:多余元素删除之移位算法Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求:1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;2、本题的目标是熟悉顺序表的移位算法,因此题目必须要用元素的移位实现删除;Input第一行输入原创 2020-10-19 16:52:59 · 227 阅读 · 0 评论 -
笔记——双向链表
双向链表:在单链表的每个节点里再增加一个指向其直接前驱的指针域prior,形成双向的链表。定义:typedef struct DuLNode{Elemtype data;struct DuLNode *prior,*next;}DuLNode,*DuLinkList;双向循环链表:头结点的前驱节点指向链表的最后一个节点;最后一个结点的后继指针指向头节点。双向链表的对称性:p->prior->next=p=p->next->prior双向链表的插入:v原创 2020-08-25 21:18:19 · 820 阅读 · 0 评论 -
笔记——循环链表
循环链表:相关知识点:循环链表:尾结点的指针域指向头结点,整个链表形成一个环。特点:从表中任一结点出发,均可找到表中其他结点。循环终止条件:指针域是否指向头节点即:p!=L; p->next!=L;(L为头指针)(表的操作常常是在表的首尾位置上运行)尾指针表示单链表循环:a1的存储位置:R->next->next;an的存储位置:R;(时间复杂度:O(1))将两个带尾指针的循环链表合并(时间复杂度:O(1))LinkList Connect(LinkList Ta,Li原创 2020-08-23 21:22:33 · 177 阅读 · 0 评论 -
线性表的链式存储结构
链式存储结构:这些代码都是伪代码,不能直接用的,仅供参考。因为一开始是在word上面写的,有的代码中每一行的首字母自动变成大写了,有的改过来了,有的可能漏了,不好意思(^ O ^)定义:用一组物理位置任意的存储单元来存放线性表的数据元素。链表中的元素的逻辑次序和物理次序不一定相同。单链表是由头指针唯一确定,可以用头指针的名字来作为单链表的名字。和链式存储有关的术语:结点:数据元素的存储映像。又数据域和指针域两部分组成。链表:n个节点由指针链组成一个链表。它是线性表的链式存储映像。单链表原创 2020-08-22 16:02:45 · 202 阅读 · 0 评论 -
线性表的顺序存储表示和实现
线性表的顺序表示和实现线性表有两种基本的存储结构:顺序存储结构,链式存储结构;顺序存储顺序存储:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。(中间没有空出存储单元,连续)线性表第一个数据元素a1的存储位置,称为线性表的起始位置或基地址。假设线性表的每个元素需占l个存储单元,则第i+1个数据元素的存储位置和第i个数据元素的存储位置之间满足关系:LOC(ai+1)=LOC(ai)+l;所有数据元素的存储位置均可由第一个数据元素的存储位置得到:LOC(ai)=LOC(a1)+(i原创 2020-08-09 17:10:24 · 537 阅读 · 0 评论 -
线性表的定义和特点
线性表的定义和特点一、 定义:一、线性表:由n(n>=0)个数据元素(结点)a1,a2,…an组成的有限序列。数据元素的个数n定义为表的长度。n=0时为空表。将非空的线性表(n>0)记作:(a1,a2,…an)数据元素ai(1<=i<=n)只是一个抽象的符号,其具体含义在不同情况下不同。同一线性表中的元素必定具有相同特性,数据元素间的关系是线性关系。线性表是典型的线性结构。二、线性表的类型定义:抽象数据类型线性表的定义如下:ADT List{ 数据对象:原创 2020-08-06 16:07:58 · 4448 阅读 · 0 评论 -
数据结构与算法基础——绪论
绪论:数据一、1.数据2.数据元素:组成数据的基本单位。也称为元素,记录,顶点,结点。3.数据项:构成数据元素的不可分割的最小单位。关系:数据>数据元素>数据项4.数据对象:性质相同的数据元素的集合,是数据的一个子集。5.数据结构:数据元素之间的关系;相互之间存在一种或多种特定关系的数据元素集合;带结构的数据元素的集合。包含:逻辑结构,数据的物理结构(存储结构),数据的运算和实现。二、逻辑结构和物理结构的关系:1.存储结构是逻辑关系的映像与元素本身的映像。2.逻辑结构是原创 2020-08-05 16:45:31 · 262 阅读 · 0 评论