当前位置:   article > 正文

数据结构与算法Python语言描述

数据结构与算法python语言描述

       复习内容总结,其图例及其内容的总结出自b站BrightyangSimon老师

一、数据结构

 其中,数据元素为研究的基本单位数据项最小单位数据对象元素的集合

 

时间复杂度分析:

例1-1    ++x;                               O(1)

例1-2    for (i=1; i<=n; ++1)

                ++x;                                O(n)

例1-3    for(i=1; j<=n;++j)

                for(j=1;j<=n;++j)

                    ++x;                                O(n^{_{2}})

例1-4    for(i=1;i<=n;++i)

                for(j=1;j<=i-1;++j)

                     ++x;                                     O(\frac{n^{2}}{2}-\frac{n}{2})   

计算步骤:1+2+\cdot \cdot \cdot +\left ( n-1\right )=\frac{(n-1)n}{n}=\frac{n^{2}}{2}-\frac{n}{2}

二、线性表

 (一)顺序表的表示

# define MAXSIZE 100

typedef struct{

        ElemType  *elem;

        int length;

        }SqList;

1.顺序表读取:

时间复杂度O(1)

2.顺序表插入:

插在第i个结点之前,移动n-i+1次

3.顺序表删除:

删除第i个结点,移动n-i次

(二)链表的表示

1.单项链表的表示

typedef struct Node {

        ElemType   data;

        struct   Node  *next

        }LNode,*LinkList;

2.双向链表的表示

typedef struck DNode

{      ElemType data;

        struct DNode *prior;  

 

 顺序表的预先分配比较废存储空间,但存储密度大从这一点上说又相对节省空间。

三、栈

 

四、队列

 五、字符串和广义表(了解)

 

 六、二叉树

 

 二叉树有三种遍历:

1. 先序遍历: (根左右)

2.中序遍历 : (左根右)

3.后序遍历: (左右根)

举个例子:(以下动画图转载自https://blog.csdn.net/chinesekobe/article/details/110874773):

 

 

七、图

 

 

 

 

 

 

 

平均查找长度第二种太大,相当于简化的顺序遍历。 

 

 

 

 

 

 八、排序

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/169121
推荐阅读
相关标签
  

闽ICP备14008679号