数据结构与算法(转)

算法-合并两个排序的链表

题目: 输入两个递增排序的链表,合并着两个链表并使新链表中的结点仍然是按照递增顺序的。例如输入的链表1和链表2如下,合并后的为链表3。链表的结点定义如下:

struct ListNode
{
int value;
ListNode *next;
};

解题思路:
首先可以确…




2017-08-03 20:44:32




阅读数 851




评论数 3



数据结构-静态链表及其插入删除操作

什么是静态链表我们平常提及的链表一般指的是动态链表,是使用指针将一个一个的结点连起来,除了动态链表之外,还有静态链表,这种链表用数组来描述,主要为了解决没有指针或者不用指针的情况下具备链表插入删除操作便捷的特性。 静态链表中有一些专属的概念,先贴上图:

这就是一个静态链表,首先他是一个数组…




2017-08-02 02:51:34




阅读数 2198




评论数 2



数据结构-单链表的读取,插入与删除

链表定义:struct ListNode { int value; ListNode *next; };单链表读取在顺序存储结构中,比如数组中,想要获取某一个位置的数据是非常容易的一件事,但是在链表中却要麻烦一些,因为链表的存储单元并不是连续的,而且我们只知道链表的头结点,也就是想知道第i...

2017-08-01 17:46:01

阅读数 4302

评论数 0

算法-获取链表中倒数第k个结点

题目: 输入一个链表,输出该链表中的倒数第k个结点。比如链表中的值为1,2,3,4,5,6。倒数第三个结点为值为4的结点。链表定义如下:struct ListNode { int value; ListNode *next; };解题思路: 这个问题相对来说还是挺好理解的,要找到倒数第...

2017-07-31 23:27:39

阅读数 520

评论数 0

算法-链表反转操作

题目: 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的头结点。链表定义如下:struct ListNode { int value; ListNode *next; };解题思路:原本我们有一个这样的链表,并且知道他的头结点,即存放数值1的节点的地址。 链表反转后的效果:...

2017-07-31 19:04:11

阅读数 393

评论数 2

Python实现队列数据结构

队列是一种应用广泛的数据结构,是一种只允许在一端进行插入操作,另一端进行删除操作的线性表,具有先进先出(First-In-First-Out)的原则。队列的两种主要操作是:向队列中插入新元素和删除队列中的元素。插入操作也叫做入队,删除操作也叫做出队。入队操作在队尾插入新元素,出队操作删除队头的元素...

2017-06-08 12:07:21

阅读数 589

评论数 0

时间复杂度的计算

如果我们想验证一段代码的效率,一个最直接的办法就是编出来之后运行一下,这个方法称为事后统计方法,但是这个方法存在着非常大的弊端,比如我们需要时间编写代码,而代码写完后如果不符合要求需要重新编写;测试的方法会受到硬件和内存占有率的影响等等。所以为了让代码的评估更加规范和科学,我们更多的使用事前分析估...

2017-06-02 11:15:26

阅读数 1199

评论数 1

C语言 一个例子说明结构体变量,结构体数组和结构体指针

输入三个学生的个人信息 包含学号 姓名和三门学科的成绩 输出平均成绩最高的学生的学号 姓名 各科成绩以及平均成绩 代码如下(谭浩强c程序设计的例子)#include<stdio.h>struct Student {int num; char name...

2016-12-21 10:26:10

阅读数 33647

评论数 6

数据结构-链表

链表是一种常见的重要的数据结构,他的特点是动态地进行存储分配。 1.链表有哪些优势? 举个栗子:如果事先不知道不知道要存放的数据的长度,就要把数组定的足够大。如果要用同一个数组存放不同长度的数据时,就要选择数据长度最长的那个作为数组的长度。链表能够比较好的解决这两种情况。 2.什么是...

2016-12-19 14:27:00

阅读数 777

评论数 0

  • 上一页
  • 1
  • 2
  • 下一页

猜你喜欢

转载自blog.csdn.net/monk1992/article/details/89916368