数据结构一

线性结构

  连续存储【数组】

  离散存储【链表】

  线性结构的两种常见应用:栈,队列

衡量算法的标准:

   1.时间复杂度:大概程序要执行的次数,而非执行的时间

 

   2.空间复杂度:算法执行过程中大概所占用的最大内存

 

   3.难易程度

 

    4.健壮性

 

  数据结构的地位:

 

              数据结构是软件中最核心的课程

 

          程序=数据的存储+数据的操作+可以被计算机执行的语言
#include<stdio.h>

void Show_Array(int *p,int len)//a为取地址,5长度
{
    p[0] = -1;//p[0] == *p
}
int main(void)
{
    int a[5] = {1,2,3,4,5};
    Show_Array(a,5);//  a等价于&a[0],&a[0]本身就是int *类型
    
    printf("%d\n",a[0]);
    return 0;
}
预备知识:
            指针
                int   *   p;//p是个变量名字,int   * 表示p变量只能存储int类型变量的地址
               定义
                        地址:内存单元的编号
                        从0开始的非负整数   范围0-----4G-1
                        指针:指针就是地址,地址就是指针
                                    指针变量是存放内存单元地址的变量
                                    指针的本质是一个操作受限的非负整数
注意:
            1.指针变量也是变量,只不过它存放的不能是内存单元的内容,只能存放内存单元地址
            2.普通变量前不能加*
            3.常量和表达式前不能加&    (&是取地址符)
 
下标和指针的关系: a[i] 《==》 *(a+i)
 
            结构体
            动态内存的分配和释放
            

 

posted @ 2018-03-26 18:49  骑猪少年  阅读(112)  评论(0编辑  收藏  举报