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

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

作者: 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);
        }
    }
    
    以上就是数据结构与算法中数构的常考的部分,对算法感兴趣的同学可以关注我的常考的数据结构与算法之算法,希望大家帮忙点个赞哟

    相关文章

      网友评论

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

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