我们在算法设计当中最常见的线性结构列表无非是一下几种:
1.数组:
数组应该是我最常用的一种。他的存储地址是连续的,就是当我们新开辟一个数组时,我们会给他分配一个连续的地址。由于他的地址是连续的,所以在我们知道他下标的时候,查找元素的速度非常快。
2.链表:
链表中的元素的位置不固定...
分类:
编程语言 时间:
2015-01-22 13:28:22
阅读次数:
221
题目:删除带头结点的单链表L中的结点p,p不是最后一个结点,要求时间复杂度为O(1)。
解题思路:
如果不要求时间复杂度为O(1),我们可以找出p的前驱结点,然后很容易就删除p。
现在要求时间复杂度为O(1),因为p不是最后一个结点,知道结点p我们可以删除p的后继结点,那么我们可以把p的后继结点元素的值赋给p结点元素的值。
ADT定义:
//单链表的结点类
class LNo...
分类:
编程语言 时间:
2015-01-17 11:17:47
阅读次数:
285
#include
#include
#include
#include
#include "oj.h"
using namespace std;
/*
功能: 输入一个不带头节点的单向链表(链表的节点数小于100),删除链表中内容重复的节点(重复的节点全部删除),剩余的节点逆序倒排。
输入: pstrIn: 输入一个不带头节点的单向链表
输出: pstrO...
分类:
其他好文 时间:
2015-01-10 13:58:29
阅读次数:
114
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但...
分类:
其他好文 时间:
2015-01-08 19:59:37
阅读次数:
259
链表的结构为:struct ListNode{ int m_nKey; ListNode* next;};从头到尾的输出链表对于大家来说都是比较简单的,但是从尾到头应该怎么做好呢?其实可以这样想,从头到尾输出链表,并把链表的数据存放到栈中,当遍历到链表尾部的时候,再从栈中输出数据,此时得到的值就.....
分类:
其他好文 时间:
2015-01-07 20:47:27
阅读次数:
146
链表的链接: 将第二条链表的所有内容链接到第一条链表之后, 其完整实现代码与解析如下://链表的链接
template
void MyList::concatenate(const MyList &list)
{
if (isEmpty())//如果自己的链表为空
{
first = list.first;
return ;
}
...
分类:
其他好文 时间:
2015-01-05 22:01:41
阅读次数:
158
循环链表:最后一个结点的指针域的指针又指回第一个结点的链表; 循环单链表与单链表的区别在于:表中最有一个节点的指针不再是NULL, 而改为指向头结点(因此要对我们原来的MyList稍作修改), 从而整个链表形成一个环. 因此, 循环单链表的判空条件不再是头结点的指针是否为空, 而是他是否等于头结点; 其实如果只是单纯的实现循环链表对单链表的性能提升是不明显的, 反而增加了代码上实...
分类:
其他好文 时间:
2015-01-05 22:00:44
阅读次数:
233
<?php
/**
*
*1.类LNode用作创建单链表时,生成新的节点。
*2.类SingleLinkList用于创建单链表以及对单链表的一些操作方法(实例化此类就相当于创建了一个空链表)
*3.CreateListHead:具有$num个数据元素的单链表的创建——头插法
*4.CreateListTail:具有$num个数据元素的单..
分类:
Web程序 时间:
2015-01-04 19:40:00
阅读次数:
215
2015年学习计划安排:http://www.cnblogs.com/cyrus-ho/p/4182275.html顺序表:顺序存储结构的线性表。所谓顺序存储结构,就是指用一组连续地址的内存单元来存储整张线性表的存储结构。(因此按序遍历数据很方便,直接做指针偏移就可以了。)常用操作A)向顺序表中第i...
分类:
编程语言 时间:
2014-12-30 18:31:43
阅读次数:
178
链式存储结构.单链表1
1.基本概念
为了表示每个数据元素ai与其直接后继数据元素ai+1之间的逻辑关系,对数据元素ai来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)
(1)数据域:存储线性表数据元素数据信息的域称为数据域;
(2)指针域:把存储直接后继位置(下一个数据元素的地址)的域称为指针域,指针域中存储的信息为指针或链;
(3)结点...
分类:
其他好文 时间:
2014-12-28 20:54:09
阅读次数:
189