数据结构2 常见数据结构的增删改查

在这里插入图片描述

1.无序数组增加的时候直接在末尾追加,删除时,找到需要删除的数据遍历o(n),移动覆盖o(n),所以时间复杂度2o(n),修改直接遍历修改,查找就遍历数组
2.有序数组增加,需要找到插入位置再增加,因此时间复杂度是o(n),**修改操作由于要保证顺序,那么就找到要删的数据删掉再插入数据,简化为删除再增加两个操作,查找的时候用折半查找,只要涉及到除以2的算法时间复杂度一般都为o(logn)
3.栈和队列的增加和删除十分类似
4.无序链表的增加找到无序链表的最后一个插入,插入的时候,找前一个元素,先让插入元素next域指向下一个元素,再让前一个元素的next域指向插入元素
无序链表的删除找到需要删除的元素的前一个元素,让它的next域指向下一个的下一个
5.有序链表增加删除和无序一样 ,修改的时候需要先删掉需要修改的值再增加(2o(n)),不能折半查找,因为有序链表只是逻辑上连续,物理上并不连续。
6.有序树的查找类似于二分查找,增加的逻辑查找类似,都是得先找到。,但是删除要考虑到根节点的情况,需要找到左树的最右节点或者右树的最左节点移动上来,这样仍旧能保证树的有序。因此删除的过程是找代替点,仍旧是查找的时间复杂度,修改仍旧是先删除后增加。
有序的修改时先删后加就好了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以帮你回答关于数据结构程序增删改查的问题。在数据结构增删改查常见的操作。要根据具体的数据结构选择正确的方法。我将分别解释这些操作的基本概念和思路。 1. 增加数据(Insert): 在数据结构插入新数据的操作通常称为插入或添加。具体实现方法取决于所使用的数据结构。例如,在数组,可以通过将新元素放入指定位置并调整其他元素来实现插入操作。在链表,可以通过创建一个新节点并重新连接节点来实现插入操作。 2. 删除数据(Delete): 删除数据是从数据结构移除特定数据的操作。同样,具体实现方法取决于所使用的数据结构。例如,在数组,可以通过将要删除的元素标记为无效来实现删除操作。在链表,可以通过调整指针以跳过要删除的节点来实现删除操作。 3. 修改数据(Update): 修改数据是更新数据结构特定数据的操作。这通常涉及到查找要修改的数据,并将其替换为新值。具体实现方法也取决于所使用的数据结构。例如,在数组,可以通过直接访问特定索引并修改其值来实现更新操作。 4. 查询数据(Search): 查询数据是从数据结构检索特定数据的操作。不同的数据结构具有不同的查询方法和效率。例如,在数组,可以通过索引直接访问特定元素来进行查询。在树结构,可以使用递归或迭代的方式进行深度优先搜索或广度优先搜索来查找特定数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值