数据结构--理解

关于数据结构的一些基本概念。

一,线性结构

1,顺序表--内存中连续的存储单元  存储单元大小一致,地址连续

2,链表--散乱、却不独立  通过指针联系,一个链表单元分为两部分,分别存放数据和下一个链表指针(下一个单元数据地址)。单链表最后一个单元指针为null,循环链表则为第一个单元链表指针。

3,栈--先进后出,花瓶模型

4,队列--管道模型   先进先出,管道队尾(上面)进(插入数据),队头(下面)出(删除数据)。

时间: 2024-11-05 20:23:29

数据结构--理解的相关文章

C++的标准模板库STL中实现的数据结构之顺序表vector的分析与使用

摘要 本文主要借助对C++的标准模板库STL中实现的数据结构的学习和使用来加深对数据结构的理解.即联系数据结构的理论分析和详细的应用实现(STL),本文是系列总结的第一篇,主要针对线性表中的顺序表(动态数组)STL vector进行分析和总结. 引言 因为前段时间对台大的机器学习基石和技法课程进行了学习,发如今详细的实现中经常涉及到各种类型的数据结构,比方线性表.二叉树.图等,在使用这些数据结构时感到有些吃力.主要是对一些主要的数据结构理解的不够.所以趁着暑假假期.近期一段时间总会抽出时间复习一

numpy中的matrix和array

Preface 在相关聚类算法的实现过程中,用python语言实现,会经常出现array和matrix的混淆,这里做个总结. array数组 numpy中最基本(默认)的类型是array,他的相关操作都是按元素操作的即用作数值计算当中(按元素操作有+,-,,/,*等).相乘举例: from numpy import * >>> a=array([1,2]) >>> a array([1, 2]) >>> b=array([2,3]) >>&

struct msghdr和struct cmsghdr

struct msghdr和struct cmsghdr http://blog.csdn.net/wsllq334/article/details/6977039 structdescriptorcredentialsfilesocket数据结构 理解struct msghdr 当我第一次看到他时,他看上去似乎是一个需要创建的巨大的结构.但是不要怕.其结构定义如下: struct msghdr { void *msg_name; socklen_t msg_namelen; struct io

《R实战》读书笔记三

第二章  创建数据集 本章概要 1探索R数据结构 2使用数据编辑器 3数据导入 4数据集标注 本章所介绍内容概括如下. 两个方面的内容. 方面一:R数据结构 方面二:进入数据或者导入数据到数据结构 理解数据集 一个数据集通常由一个表格组合而成,行表示观测,列表示变量.病人的数据集如表1所示. 表1 病人数据集 数据集能够反映数据结构.数据类型和内容. 数据结构 R数据结构如图2所示. 图2:R数据结构 数据结构即数据的组织方式,R数据结构包括向量.矩阵.数组.数据框和列表等. R向量 R向量是一

(转)Linux环境进程间通信系列(五):共享内存

原文地址:http://www.cppblog.com/mydriverc/articles/29741.html 共享内存可以说是最有用的进程间通信方式,也是最快的 IPC 形式.两个不同进程 A . B 共享内存的意思是,同一块物理内存被映射到进程 A . B 各自的进程地址空间.进程 A 可以即时看到进程 B 对共享内存中数据的更新,反之亦然.由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以. 采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存

全面解析Linux 内核 3.10.x - 如何开始

万事开头难 - 如何开始? 人总是对未知的事物充满恐惧!就像航海一样,在面对危难的时候,船员和船长是一样心中充满恐惧的!只是船员始终充满恐惧,而船长却能压抑恐惧并从当前找出突破口! 我没有船长之能,但也算入行两年的老船员,我会追随船长一起寻找突破口!而内核如此庞然大物不知从何入手这真的很正常,那么应该的入口在哪里?其实我也不知道,一千个读者就有一千个哈姆雷特.每个人都入口的理解都不一样,有人说是必须有着良好的C编程经验,有人说必须有着对Linux发行版等必要的操作经验,也有的人说一定要数据结构理

Java集合框架浅析

集合框架示图 Collection接口和Map接口 方法API介绍 Collection接口: boolean add(E e) :添加元素到集合中 boolean addAll(Collection<? extends E> c) : 将指定 collection 中的所有元素都添加到此 collection 中(可选操作). void clear() : 移除此 collection 中的所有元素(可选操作). boolean contains(Object o) :如果此 collect

Unix-epoll

本人不才,只能从表面理解epoll函数的机制,看了很多博客,由于缺乏基础知识,所以对内核中的实现和其数据结构理解不到位,粗浅地来认识一下. 系统打开的最大文件描述符 也是有限制的,并且这个最大量和内存有关 cat /proc/sys/fs/file-max 194720   int epoll_ctl(int epfd,int op,int fd,struct epoll_event *event);\\添加套接字 typedef union epoll_data{ void *ptr; int

Myslq基础知识

1.引言 1.1.为什么选择MySQLMySQL有什么特点?1.可以处理拥有上千万条记录的中小型数据2.使用标准的SQL数据语言形式3.可移植行高,安装简单小巧4.调试.管理,优化简单(相对其他大型数据库)5.开源(分为商业版和社区版)目前数据库排名: 2.初涉MySQL2.1.MySQL概述1.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品,是最流行的关系型数据库管理系统之一.2.MySQL是一种关系数据库管理系统,关系数据库就是将数据