数据结构与算法
mozha_csdn
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构-线性表(顺序表+链表)
线性表 1、线性表是一种逻辑结构,表示一种一对一的逻辑关系,除首节点和尾节点,每个结点只有一个前驱结点和一个后继结点 2、两种实现的物理结构:顺序存储,链式存储顺序表 1、定义:用一组地址连续的存储单元,一次存储线性表中的元素,使得逻辑位置相邻的元素物理位置也相邻。 2、特点: 顺序表元素的位序从1开始 顺序表可以随机访问,通过首地址和序列号找到指定元...原创 2018-03-11 13:02:06 · 497 阅读 · 0 评论 -
线性表的应用——一元多项式的存储
捕捉一元多项式的描述要点 一元多项式有多个数据项,每个数据项的关键点是变量的指数,变量的系数顺序存储,一维数组进行存储 对应关系:数组下标0-n-1,和变量系数对应,数组的数据单元可以存储变量的系数 优点: 数组适合随机存取,利用它存储多项式,做加减法运算很方便 缺点: 若非零项少,浪费存储空间顺序存储:利用结构数组只存储非零项数据 1、结构数组,就是可以存...原创 2018-03-22 20:09:04 · 3995 阅读 · 0 评论 -
链表的应用——广义表、多重链表
广义表 1、所谓广义表就是线性表的推广,怎么说呢,以前线性表存的是一个数据元素,现在呢是线性表的结点可以指向另一个线性表,这就是广义表啦typedef struct GNode *GList;typedef struct GNode{ //可以设置tag为0,union单元存的就是数据,为1存的就是指向另一广义表的指针 int tag; union{ ...原创 2018-03-22 20:30:31 · 5115 阅读 · 1 评论 -
数据结构和算法——栈
栈 1、线性表的一种,特点是规定只能在一端进行插入删除操作,元素后进先出。 2、栈用顺序栈和链栈,分别是线性存储和链式存储,链式存储有头结点和无头结点是有差别的 3、共享栈,是顺序栈的一种,就是两个顺序栈共享一个一维空间,两个栈底分别在共享空间的两端,两个栈顶向共享空间中间延伸 4、注意这里演示和说明的栈的栈顶指针都是指向栈顶元素,而不是下一个元素。 5、共享栈,栈1的栈顶指针指向-1,...原创 2018-03-19 21:20:39 · 509 阅读 · 0 评论 -
数据结构与算法——循环队列链式队列
队列 1、也是一种操作受限的线性表,规定只能在一端插入,一端删除,有先进先出的特点。 2、顺序队列,队首指针指向队首元素,队尾指针指向队尾元素的前一个元素,此时队列为空的判定条件是Q.front == Q.rear == 0;2、顺序队列会有假溢出的现象,为此设计了循环队列。 1)为了区分队满和队空的条件,循环队列往往采用少用一个单元进行入队队满判定条件:(Q.rear+...原创 2018-03-20 11:19:23 · 5921 阅读 · 0 评论 -
数据结构与算法——计算程序段的执行时间&&多项式求值
计算程序段的执行时间 1、计算某一段程序执行的时间,单位秒 2、CLK_TCK:机器每秒的打点数 3、要引入头文件’time.h’#include<stdio.h>#include<time.h>void printNByRecursion(int n){ if(n){ printf("%d\n",n); printNB...原创 2018-03-20 22:30:49 · 627 阅读 · 0 评论 -
数据结构与算法——有序链表合并
要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。#include <stdio.h>#include <stdlib.h>typedef int ElementType;typedef struct Node *PtrToNode;struct Node { ElementType Data; PtrToNode ...原创 2018-03-24 20:23:26 · 693 阅读 · 0 评论
分享