[DS+Algo] 002 一维表结构
1. 顺序表
1.1 分类
- 简单顺序表
- 索引顺序表
- 数据可以很不规则
- 数据物理排列可以不要求
- 索引的格式规整
1.2 实现方式
以更改是否方便为准
- 一体式
- 分离式
1.3 扩容问题
- 每次定量增长:节省空间,操作频繁
- 每次按比例增长:浪费
1.4 操作
- 增加
- 保存尾端插入
- 非保存
- 保存
- 删除:和增加类似
- Python-list 操作
- 分离技术实现的动态表
- 空表:8 个位置
- 插入满:扩大 4 倍
- 若果已经很大(如,>50000):加 1 倍
2. 链表
2.1 分类
- 单向链表
- 单向循环链表
- 双向链表
2.2 链表相关操作
- is_empty() 判断链表是否为空
- length() 返回链表的长度
- traverse() 遍历
- add_first(item) 在头部添加一个结点(节点)
- append(item) 在尾部添加一个结点
- insert(pos, item) 在指定位置 pos 添加一个结点
- remove(item) 删除一个结点
- search(item) 查找结点是否存在
2.3 链表 VS 顺序表
下方 n 表示时间复杂度为 O(n),同理,1 指 O(1)
- 访问元素:n, 1
- 头部插入:1, n
- 尾部:n, 1
- 中间插入:n, n
3. 关于代码实现
- 代码见下一篇
- 内容包括
- 单向列表
- 单向循环列表
- 双向列表
[DS+Algo] 002 一维表结构的更多相关文章
- [DS+Algo] 003 一维表结构 Python 代码实现
接上一篇 前言 本篇共 3 个代码实现 严格来说 code1 相当于模仿了 Python 的 list 的部分简单功能 code2 与 code3 简单实现了"循环单链表"与&qu ...
- DS实验题 Old_Driver UnionFindSet结构 指针实现邻接表存储
题目见前文:DS实验题 Old_Driver UnionFindSet结构 这里使用邻接表存储敌人之间的关系,邻接表用指针实现: // // main.cpp // Old_Driver3 // // ...
- CACTI表结构和数据被动获取
cacti我们也用了很久了,但是它的表结构一直都没有去关心过,得空抽了半个晚上的时间,把它的库表结构大概看了下,某些字段的含义跟大家分享下:cacti的数据都是存放在rrdtool中的,数据库存放的其 ...
- Sql语句查看表结构
快速查看表对的就说明,及表字段描述及字段类型 --表描述 SELECT tbs.name 表名,ds.value 描述 FROM sys.extended_properties ds LEFT JOI ...
- sqlserver 2008 查看表描述,和表结构
sp_help sys_user sp_columns sys_user --表结构 THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 , c ...
- 微调数据库表结构,30 分钟搞定 WordPress 数据库查询缓慢问题
同事的美女图片站,基于 WordPress 搭建的,因为数据越来越多,变得慢,我从 PHP slow log 里面看出是 WordPress 有些查询总是很慢,即使已经安装了页面缓存插件,但是由于页面 ...
- Excel:一维表和二维表 互转
一.一维表转二维表 数据源: 一份流水账式的值班表,为了便于打印张贴,现在需要使其变成这样的样式: 也就是从一维表变成传说中的二维表. 1.新建查询 依次单击[数据]→[新建查询] →[从文件]→[从 ...
- 将DataTable 覆盖到 SQL某表(包括表结构及所有数据)
调用代码: string tableName = "Sheet1"; openFileDlg.ShowDialog(); DataTable dt = GeneralFun.Fil ...
- 解决修改表结构,添加外键时出现“约束冲突”的错误
由于表结构更改,使用新建表,现有部分表需要更改外键,将引用更改到新建表的相应字段.在更改过程中,部分表出现如下错误提示: ALTER TABLE 语句与 COLUMN FOREIGN KEY 约束 ' ...
随机推荐
- SQL优化之表连接方式
1.嵌套循环(DESTED LOOPS) Note:嵌套循环被驱动表必须走索引,而且索引只能走INDEX UNIQUE SCAN或者INDEX RANGE SCAN SQL> select /* ...
- scrapy五大核心组件和中间件以及UA池和代理池
五大核心组件的工作流程 引擎(Scrapy) 用来处理整个系统的数据流处理, 触发事务(框架核心) 调度器(Scheduler) 用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. ...
- 【leetcode】1230.Toss Strange Coins
题目如下: You have some coins. The i-th coin has a probability prob[i] of facing heads when tossed. Ret ...
- .NET DotnetSpider--WebDrvierSpider(ajax动态加载的数据获取)
爬虫获取数据时,可能会遇到AJAX加载的页面,如果无法分析出接口的话,就只能使用秘密武器——WebDriverDownloader.不过最好还是分析出接口为好,WebDriver的性能实在是太低了.现 ...
- shell练习--关于二维数组的实现问题
关于二维数组的实现问题:通过查询网友们的记录,可知有两个方法 方法1:通过通过2次读取赋值,来获取二维数组的方法. a=('1 2 3' '4 5 6' '7 8 9') for i in " ...
- Pycharm中文显示异常
pycharm2019,中文显示乱码异常,配置了encoding为utf8还是不行,需要设置备用字体 原因是某些英文字体库不支持非英文字符,无法显示 设置fallback字体 File-setting ...
- 2019JAVA最新课程-React从入门到实战(新)
1.准备工作 可以在yunp.top网站看webpack,node/npm,cnpm的相关使用视频教程 react有两种使用方式,一是在现有网站中添加:二是创建一个全新的 官网创建全新一个react ...
- python深度学习:矩阵转置(transpose)
转置:即行列转换. import numpy as np import matplotlib.pyplot as plt C=np.array([[1,2,3],[4,5,6]]) # Display ...
- luogu 4725 【模板】多项式对数函数(多项式 ln)
$G(x)=ln(A(x))$ $G'(x)=ln'(A(x))A'(x)=\frac{A'(x)}{A(x)}$ 由于求导和积分是互逆的,所以对 $G$ 求积分,即 $G(x)=\int\f ...
- TTTTTTTTTTTTTTTTT HDU 2586 How far away LCA的离线算法 Tarjan
链接: How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...