数据结构日常笔记总结
2015-08-13 09:01
344 查看
数据结构概述
定义:
我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的的相应操作,这个相应的操作也叫算法
数据结构=个体+个体的关系
算法=对存储数据的操作
算法:
解题的方法和步骤
衡量算法的标准
1、时间复杂度
大概程度要执行的次数,而非执行时间
2、空间复杂度
算法执行过程中大概占用最大的内存
3、难易程度
4、健壮性
数据结构的地位:
数据结构是软件中最核心的课程
程序:数据的存储+数据的操作+可以被计算机执行的语言
预备知识:
指针:
指针的重要性
指针是C语言的灵魂
定义
地址:内存单元编号,从0开始的非负整数范围:0-FFFFFFFF
指针:指针就是地址 地址就是指针,指针变量是存放内存单元地址的变量,指针的本质是一个操作受限的非负整数
分类:
1、基本类型指针
2、指针和数组的关系
补充知识:cpu通过三根总线(地址总线、控制总线、数据总线)与内存进行交互,地址总线负责寻找到所在的内存地址;控制总线负责读还是写,还是只读或是只写;数据线是负责数据传输,到底是cpu读数据还是从内存中取数据到cpu。
结构体
动态内存的分配和释放
模块一:线性结构
连续存储[数组]
离散存储[队列]
线性结构的两种常见应用之一:栈
线性结构的两种常见应用之二:队列
模块二:非线性结构
树
图
模块三:查找和排序
冒泡
插入
选择
快速
归并排序
Java中容器和数据结构的相关知识
Iterator接口
Map
哈希表
未完待完善...
定义:
我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的的相应操作,这个相应的操作也叫算法
数据结构=个体+个体的关系
算法=对存储数据的操作
算法:
解题的方法和步骤
衡量算法的标准
1、时间复杂度
大概程度要执行的次数,而非执行时间
2、空间复杂度
算法执行过程中大概占用最大的内存
3、难易程度
4、健壮性
数据结构的地位:
数据结构是软件中最核心的课程
程序:数据的存储+数据的操作+可以被计算机执行的语言
预备知识:
指针:
指针的重要性
指针是C语言的灵魂
定义
地址:内存单元编号,从0开始的非负整数范围:0-FFFFFFFF
指针:指针就是地址 地址就是指针,指针变量是存放内存单元地址的变量,指针的本质是一个操作受限的非负整数
分类:
1、基本类型指针
2、指针和数组的关系
补充知识:cpu通过三根总线(地址总线、控制总线、数据总线)与内存进行交互,地址总线负责寻找到所在的内存地址;控制总线负责读还是写,还是只读或是只写;数据线是负责数据传输,到底是cpu读数据还是从内存中取数据到cpu。
#include<studio.h> int main(void) { }
结构体
动态内存的分配和释放
模块一:线性结构
连续存储[数组]
离散存储[队列]
线性结构的两种常见应用之一:栈
线性结构的两种常见应用之二:队列
模块二:非线性结构
树
图
模块三:查找和排序
冒泡
插入
选择
快速
归并排序
Java中容器和数据结构的相关知识
Iterator接口
Map
哈希表
未完待完善...
相关文章推荐
- 图论-BFS解无权有向图最短路径距离
- H264数据结构
- nginx源码分析2———基础数据结构五(ngx_hash_wildcard_t)
- 中国大学MOOC-陈越、何钦铭-数据结构基础习题集 00-自测1. 打印沙漏(20)
- 数据结构
- 【暑假】[实用数据结构]UVAlive 4670 Dominating Patterns
- 数据结构(Java语言)——Stack简单实现
- 数据结构-双向链表(学习笔记)
- 数据结构-循环链表(学习笔记)
- nginx的数据结构集合(随时更新)
- C源码@数据结构与算法->队列(queue)
- 什么是算法,什么是数据结构
- 智渔课堂官方免费教程三十七:Java数据结构之单向链表结构
- I学霸官方免费教程三十七:Java数据结构之单向链表结构
- 智渔课堂官方免费教程三十六:Java数据结构之双向链表结构
- I学霸官方免费教程三十六:Java数据结构之双向链表结构
- 快速排序(qsort and sort)
- 【数据结构与算法】八皇后问题之递归
- 数据结构Java实现01----算法概述
- 【数据结构】之二叉树的java实现