以图明志

数据结构

[专题] 如何在串中删除特定长度的子串

串的删除
昨天我们写了如何在串中插入另外一个串,那么今天我们来看看对应的操作:如何在串中删除指定长度的子串。也就是,从串S1中删除第pos个字符起长度为len的子串。其实就是数组操作啦,把第pos个元素起的len个元素去掉即可。具体怎么去掉呢?把S[pos+len]赋值给S[pos],把S[pos+len+1]赋值给S[pos+1]……以此类推就OK了。

数据结构

[专题] 将单链表重置为空表

释放结点前需要处理后继关系
当我们不打算使用某个单链表时,就需要把它销毁,其实也就是在内存中将它释放掉,以便于留出空间给其他程序或软件使用。在循环体内直接写free (p); p=p->next; 这样真的没问题吗?要知道p是一个结点,它除了有数据域,还有指针域。在free (p); 时,其实是在对它整个结点进行删除和内存释放的工作。

数据结构

[专题] 单链表的删除某个元素的操作

详尽介绍单链表删除算法
单链表删除第i个数据结点的算法思路:声明一结点p指向链表第一个结点,初始化j从1开始;当j < i时,就遍历链表,让p的指针向后移动,不断指向下一个结点,j累加 1;若到链表末尾p为空,则说明第i个元素不存在;否则査找成功,将欲删除的结点p->next賦值给q;单链表的删除标准语句p->next=q->next;

数据结构

[专题] 第08话:线性表删除某个元素

线性表的删除操作
根据之前定义的线性表ADT,现在还剩下一个操作,就是删除了。今天把这个操作弄完。了解线性表的插入,就很容易理解线性表的删除了。删除就是插入的逆过程。删除算法的思路:如果删除位置不合理,抛出异常;取出删除元素;从删除元素位置开始遍历到最后一个元素位置,分别将它们都向前移动一个位置。

数据结构

面试题:如何删除单链表的重复结点

使用三个结点完成算法
写一算法将单链表中值重复的结点删除,使所得的结果表中各结点值均不相同。解决的思路如下:建立指针p,用于遍历链表;建立指针q,q遍历p后面的结点,并与p数值比较;建立指针r,r保存需要删掉的结点,再把需要删掉的结点的前后结点相接。

计算机算法

时间复杂度为O(1)的删除链表结点方法

从分析与思考中找到答案
这是一道广为流传的Google面试题,能有效考察我们的编程基本功,还能考察我们的反应速度,更重要的是,还能考察我们对时间复杂度的理解。在链表中删除一个结点,最常规的做法是从链表的头结点开始,顺序查找要删除的结点,找到之后再删除。由于需要顺序查找,时间复杂度自然就是O(n) 了。

JavaScript

DOM动态添加与删除元素

动态增加元素的DOM操作
动态的增加和删除元素在很多地方都需要用到,比如有时候需要大量数据收集的时候,我们就需要动态增加form表单等。下面是一个例子。

PHP服务器脚本

PHP如何删除文件或文件夹

unlink()与rmdir()这两个函数的使用
有时候我们需要用PHP来删除文件和文件夹,PHP本来也都有函数可以实现,下面简单记录一下代码,方便以后信守拈来。先看一下代码。unlink() 函数用于删除文件。若成功,则返回 true,失败则返回 false。rmdir() 函数用于删除空的目录。它尝试删除 dir 所指定的目录。 该目录必须是空的,而且要有相应的权限。

数据结构

《编程之美》3.4:没有头结点的单链表如何删除结点

一个巧妙的思路
题目:假设有一个没有头结点的单链表。一个指针指向此单链表中间的一个节点(非第一个节点, 也非最后一个节点)。请将该节点从单链表中删除。典型的“狸猫换太子”, 若要删除该节点,正常情况下,应该要知道该节点的前面节点的指针,但是由于单链表中没有头结点,所以无法追溯到该节点前面的那个节点,因此,这里采用了“移花接木”的方法。

数据结构

[专题] 结构之美:删除单链表指定位置的数据

单链表删除结点
删除单链表指定的某个结点是单链表的一个基本操作。删除操作大致分为如下三种:删除p所指向结点的后继结点(假设存在),删除p所指向的结点。删除线性表中值为x的数据元素。大致算法思想:删除运算是将表的第i个结点删去。删除结点算法的时间复杂度和插入结点一样,也是O(n)。链表上实现的插入和删除运算,无须移动结点,仅需修改指针。

数据结构

[专题] 结构之美:单链表的销毁删除

将结点循环free掉
当我们不再使用某个单链表时,我们就要把它销毁,就是要把它在内存中释放掉。单链表的整表删除,先写一些算法思路:声明一节点p和q;将第一个结点赋值给p;循环,将下一结点赋值给q,释放p,将q赋值给p。实现代码如下:……初始条件:顺序线性表L已存在。操作结果:将L重置为空表。

数据结构

[专题] 结构之美:线性表的查找、插入与删除操作

顺序存储结构的操作
查找线性表是最基本的操作之一,比如根据序号查找元素的值,或者根据值查找该值是否在线性表中,如果在,那么序号是几等等。分析上述插入和删除两段代码和更早的获取元素代码,我们可以发现,线性表的顺序存储结构,在存/读数据时,不管是哪个位置,时间复杂度O(1),而插入或删除时,时间复杂度都是O(n)。
1 / 1 首页 < Prev 1 Next > 尾页 页码: