数据结构和算法:增删查

Posted 编程杂货

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构和算法:增删查相关的知识,希望对你有一定的参考价值。

感谢您看到我,这里是浮生君。千里之行,始于足下。和浮生君一起重新学习数据结构和算法吧~


在“程序如何衡量”中,我们建立了使用数据结构转换时空的思想。想要熟练使用数据结构,需要先了解代码处理数据的最小单元,根据对应操作,选择合适的数据结构。


增删改

1、代码处理数据最小单元有哪些?

根据输入的数据,代码可能的处理有,找到需要处理的数据,计算(消耗cpu),保存结果。

(1) 找到需要处理的数据 是查找

(2) 保存结果到新的内存空间 是新增

(3) 保存结果到旧的内存空间 是先删除 后新增


对于改操作,是可以拆解为删和增,或者查和赋值。所以代码对数据处理的最小单元是增删查


2、增删查各自存在的操作?

(1) 增删:可以对数据结构中间进行操作,也可以对数据结构末尾增删,区别在前者会使得原数据位置可能产生变化

(2) 查找:可通过索引(数组)、位置(链表)、数值等进行查找。


基本上所有的数据处理,都是上述的操作组合和叠加。


我们通过一个例子来分析说明一下


例子:输出数组中出现次数最多的数值。(假设不知道需要什么数据结构)

需要先统计数组中数值出现的次数,再比对次数。假设数据结构为X,存储出现过的数值,遍历数组,并在X中查找是否已存在,并且对出现次数累加。可以看到查是比较高频的操作。

(1) 统计

可以使用字典数据结构减低查询的时间复杂度,key是出现的数值,value是数值出现的次数。

  • 查找:查找数值在字典中是否出现过。

  • 增加:未出现,字典中增加该数值。

  • 修改:已出现,字典中key对应的value加1。

(2) 次数比对

  • 增加:变量max存储最多次数,变量index存储次数最多的key

  • 查找:遍历字典中的数据,查找大于m的值

  • 修改:大于m时,修改m和i的值

以上是关于数据结构和算法:增删查的主要内容,如果未能解决你的问题,请参考以下文章

基于MVC实现增删查改

[Hibernate] 基本增删查改

舍伍德算法 跳跃表增删查的实现

MongoDB数据库进阶 --- 增删查改...

Sqlite数据库增删查改操作

mysql简单操作,增删查改.