一、数据结构的理解:

1、什么是数据结构?
数据结构就是,如何将现实中大量且复杂的问题以特定的数据类型和特定的存储结构保存在内存中。数据结构解决的是存储问题,其中包括个体数据存储以及个体关系存储

2、什么是算法?
算法就是对存储的数据的一个操作(对数据相应的操作,如查找、删除、排序等)。

3、衡量一个算法的标准
(1)时间复杂度:程序大概的执行次数,而非程序执行的时间
(2)空间复杂度:算法执行过程中大概所占的最大内存
(3)难易程度
(4)健壮性

二、指针

1、 指针就是C语言的灵魂,最主要的是理解指针存放的是地址,不要使用野指针

2、任何类型的的指针存储大小:32位机——4位、64位机——8位

3、cpu是无法直接在硬盘上读取数据的,而是通过内存读取。cpu通过地址总线、数据总线、控制总线三条线对内存中的数据进行传输和操作。

  1、cpu通过地址总线,找到该条数据;
  2、通过控制总线得知该操作是读操作还是写操作;
  3、通过数据总线将该数据读取到cpu或者从cpu写到内存中。
所以,
  地址总线的宽度决定了CPU的寻址能力;
  数据总线的宽度决定了CPU单次数据传输的传送量,也就是数据传输速度;
  控制总线决定了CPU对其他控件的控制能力以及控制方式

三、结构体(C),C++的可以用类

1、结构体的定义:结构体就是用户根据需求自己定义的一种复合类型
2、理解结构体的几种定义和初始化的方式
3、结构体指针

//一个学生管理系统的类
struct student { int id;char name[100];int age;
};
struct student st = {1100,"zhangsan",20};   //普通的定义并初始化一个结构体变量
struct student *pst = &st;                 //定义一个结构体指针变量
//结构体指针的赋值  pst->id 等效于 (*pst).id 等效于 st.id

四、动态内存的分配和释放

1、内存分配:malloc()
当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存,且分配的大小就是程序要求的大小

int *p = (int *)malloc(sizeof(int) * 100);
//这里为malloc做了强制类型转换,因为其类型是void *型

2、内存释放:free()
free()函数与malloc()配套使用,用于释放开辟的此块动态内存空间

数据结构(一):数据结构的概述相关推荐

  1. 数据结构与算法理论概述

    数据结构与算法理论概述 文章目录 数据结构与算法理论概述 数据结构概述 ◆ 数据结构涵盖的内容 ◆ 存储数据 算法概述 ◆ 算法的基本特性 ◆ 算法设计要求 ◆ 算法分析 数据结构概述 狭义上:数据结 ...

  2. 数据结构 python的书推荐-为什么程序员一定要学数据结构?数据结构书单推荐~...

    原标题:为什么程序员一定要学数据结构?数据结构书单推荐~ 来自:程序员书库(ID:OpenSourceTop) 人们最初使用计算机是用来处理简单的数值计算问题,当你使用计算机来处理一个问题时,一般经过 ...

  3. python需要学数据结构吗_Python新手学习基础之数据结构-对数据结构的认知

    什么是数据结构? 数据结构是指:相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成. 举个列子来理解这个数据结构: 数据可以比作是书本, 数据结构相当于书架,书存放在书架上, ...

  4. 自考数据结构和数据结构导论_我跳过大学自学数据科学

    自考数据结构和数据结构导论 A few months back, I decided I wanted to learn data science. In order to do this, I sk ...

  5. mysql存储map数据结构_map数据结构

    Go map实现原理 - 恋恋美食的个人空间 - OSCHINA - 中文开源技术交流社区 https://my.oschina.net/renhc/blog/2208417 // A header ...

  6. 数据结构 (一) ----- 数据结构基本概念基于数组实现线性表

    相关文章: <数据结构 (一) ----- 数据结构基本概念&基于数组实现线性表> 文章目录 数据结构基本概念 一.逻辑结构 二.存储结构 三.数据结构定义 四.数据结构的通用的几 ...

  7. Day739.GEO经纬度数据结构自定义数据结构 -Redis 核心技术与实战

    GEO经纬度数据结构&自定义数据结构 Hi,我是阿昌,今天学习记录的是关于GEO经纬度数据结构&自定义数据结构的内容,感谢您的关注和观看. Redis 的 5 大基本数据类型:Stri ...

  8. 考研数据结构笔记--数据结构和算法的基本概念

    考研数据结构笔记--数据结构和算法的基本概念 数据结构的基本概念 算法的基本概念 数据结构的基本概念 数据 数据是对客观事物的符合表示,在计算机科学中是指所有能输入到计算机中并且被计算机程序处理的符合 ...

  9. 数据结构——初识数据结构

    数据结构(计算机408考研科目) 首先我们提出一个问题:数据结构是在学习什么? 带着这个疑问我们来观察一下我们身边的世界. 从一日三餐,吃穿住行来看: 1.我们有时不想做饭时,我们可以打开手机去点外卖 ...

  10. 【大话数据结构】——-数据结构

    数据结构,顾名思义:就是计算机存储.组织数据的方式. 定义: 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合. 使用数据结构的好处: 通常情况下,精心选择的数据结构可以带来更高的运行或者存 ...

最新文章

  1. 实施PLM系统的总结及建议
  2. 内表数据写到服务器上
  3. 关于jquery调用webservice的一些感想
  4. 电信诈骗?一招让骗子血本无归!
  5. 计算机防火墙不能更改,win7系统更新防火墙设置不能更改的解决方法
  6. CentOS7 ISCSI服务器搭建
  7. 什么是徽标LOGO模板?
  8. ifconfig输出网口和ip
  9. python MAC地址查询
  10. 华为加油!海思加油!翻过这座山,你就是传奇
  11. SpringCloud高级应用(OpenFeign Ribbon Steam Sleuth+Zipkin)
  12. logit回归怎么看显著性_[转载]spss logistic回归方程检验
  13. Docker的卸载与安装(阿里云)
  14. 数据嗨客 | 第6期:不平衡数据处理
  15. matlab如何求传递函数的幅值_MATLAB通过传递函数求截止频率
  16. QCC3040----PS key
  17. 十大不良习惯损害大脑
  18. 来,带你认识几种最流行的Python编辑器的IDEs
  19. 嵌入式应用-详解移植并使用freetype显示文字
  20. 使用jquery判断是否为数字

热门文章

  1. java多线程学习笔记--一.多线程的基础知识
  2. 神州战神电脑关闭触摸板
  3. source insight 多文件并行显示
  4. 电子仪表系统显示管理计算机,综合电子仪表系统.ppt
  5. 一次性消费品商城小程序开发,生活更便捷
  6. 两宋词人Top10排排座
  7. n(n-1)到底是个啥
  8. 一起Talk Android吧(第五百零七回:图片滤镜ImageFilterView)
  9. 每天学点统计学——频率和累计频数
  10. 西工大PAMI论文:发布大规模人群计数/定位基准平台