美文网首页
数据结构与算法之数据结构

数据结构与算法之数据结构

作者: EchooJ | 来源:发表于2018-06-11 11:17 被阅读88次
插图1.jpg

数据结构中常考的一些内容总结,使用的语言是C/C++语言

一、线性表

线性表是巨头相同数据类型的n(n>=0)个数据元素的有限序列。
线性表的顺序存储就是顺序表,顺序表的结构体

typedef struct{
int data[MaxSize];
int length;
}SqList;

但是感觉一般都是考链表,那么我们直接进入链表的重点吧

链表

//链表的节点类型
typedef struct node{
    int val;
    struct node* next;
}node,*Linklist;

单链表反转基本成为必考的题目
这里引用一下这位同学写的答案,我个人认为写的比较好
http://blog.csdn.net/FX677588/article/details/72357389

node* reverseList(node* H)
{
    if (H == NULL || H->next == NULL) //链表为空或者仅1个数直接返回
        return H;
    node* p = H, *newH = NULL;
    while (p != NULL)                 //一直迭代到链尾
    {
        node* tmp = p->next;          //暂存p下一个地址,防止变化指针指向后找不到后续的数
        p->next = newH;               //p->next指向前一个空间
        newH = p;                     //新链表的头移动到p,扩长一步链表
        p    = tmp;                   //p指向原始链表p指向的下一个空间
    }
    return newH;
}

二、二叉树

typedef struct BitNode{
char data;
struct BitNode *lchild,rchild;
}BitNode,*BiTree;

二叉树常考的内容应该就是先序遍历,中序遍历,后续遍历

先序遍历

口诀:根左右

//先序遍历
void PreOrderTraverse(BiTree t)
{
  //注意跳出条件
    if(t != NULL)
    {
       //注意访问语句顺序
        printf("%c ", t->data);
        PreOrderTraverse(t->lchild);
        PreOrderTraverse(t->rchild);
    }
}

中序遍历

口诀:左根右

//中序遍历
void InOrderTraverse(BiTree t)
{
    if(t != NULL)
    {
        InOrderTraverse(t->lchild);
        printf("%c ", t->data);
        InOrderTraverse(t->rchild);
    }
}

后续遍历

口诀:左右根

//后续遍历
void PostOrderTraverse(BiTree t)
{
    if(t != NULL)
    {
        PostOrderTraverse(t->lchild);
        PostOrderTraverse(t->rchild);
        printf("%c ", t->data);
    }
}
以上就是数据结构与算法中数构的常考的部分,对算法感兴趣的同学可以关注我的常考的数据结构与算法之算法,希望大家帮忙点个赞哟

相关文章

  • 数据结构与算法

    数据结构与算法之美 数据结构与算法之美1--如何学数据结构与算法之美2--复杂度分析(上)数据结构与算法之美3--...

  • 数据结构与算法 - 查找

    数据结构与算法系列文章数据结构与算法 - 时间复杂度数据结构与算法 - 线性表数据结构与算法 - 树形结构数据结构...

  • 思维导图之数据结构+算法

    数据结构+算法 = 程序 数据结构比较 参考文章 数据结构与算法数据结构与算法(java)

  • 重温:数据结构与算法 - 03数组

    数据结构与算法之美 - 数组 数据结构与算法之美-学习大纲 什么数组? 数组是一种 线性表 数据结构。它用一组 连...

  • 数据结构与算法 - 树形结构

    数据结构与算法系列文章数据结构与算法 - 时间复杂度数据结构与算法 - 线性表数据结构与算法 - 树形结构 目录 ...

  • 数据结构之栈

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

  • 数据结构之队列

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

  • 数据结构之二分查找的概念

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

  • 数据结构之二叉树

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

  • 数据结构之二叉搜索树

    (注释:整篇数据结构与算法文集,部分总结于王争的《数据结构与算法之美》和李明杰的《恋上数据结构与算法》,加上自己的...

网友评论

      本文标题:数据结构与算法之数据结构

      本文链接:https://www.haomeiwen.com/subject/yklqeftx.html