没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。简而言之,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/release/download_crawler_static/12063270/bg1.jpg)
数据结构 算法大全 编者:艾孜尔江
1
数据结构与算法大全
(面试宝典)
编者:艾孜尔江·艾尔斯兰
![](https://csdnimg.cn/release/download_crawler_static/12063270/bg2.jpg)
数据结构 算法大全 编者:艾孜尔江
2
目录
一、单链表............................................................................................................ 4
1.单链表反转................................................................................................. 5
2.找出单链表的倒数第 4 个元素................................................................. 7
3.找出单链表的中间元素............................................................................. 8
4.一个单链表,很长,遍历一遍很慢,我们仅知道一个指向某节点的指
针 curr,而我们又想删除这个节点。 ........................................................ 9
5.两个不交叉的有序链表的合并............................................................... 10
6.有个二级单链表,其中每个元素都含有一个指向一个单链表的指针。
写程序把这个二级链表展开称一级单链表。.......................................... 12
7.单链表交换任意两个元素(不包括表头)........................................... 14
8.判断单链表是否有环?如何找到环的“起始”点?如何知道环的长度?
...................................................................................................................... 15
9.判断两个单链表是否相交....................................................................... 17
10.两个单链表相交,计算相交点............................................................. 19
11.用链表模拟大整数加法运算 ................................................................. 20
12.单链表排序............................................................................................. 21
13.删除单链表中重复的元素..................................................................... 23
二、栈和队列...................................................................................................... 24
1.设计含 min 函数的栈,要求 min、push 和 pop 的时间复杂度都是 o(1)。
...................................................................................................................... 24
2.设计含 min 函数的栈的另解 .................................................................. 25
3.用两个栈实现队列................................................................................... 27
4.用两个队列实现栈................................................................................... 28
5.栈的 push、pop 序列是否一致 ............................................................... 30
6.递归反转一个栈,要求不得重新申请一个同样的栈,空间复杂度 o(1)
...................................................................................................................... 31
7.给栈排个序............................................................................................... 31
8..如何用一个数组实现两个栈.................................................................. 32
9..如何用一个数组实现三个栈.................................................................. 36
三、二叉树.......................................................................................................... 39
1.二叉树三种周游(traversal)方式: ..................................................... 40
2.怎样从顶部开始逐层打印二叉树结点数据........................................... 41
3.如何判断一棵二叉树是否是平衡二叉树............................................... 43
4.设计一个算法,找出二叉树上任意两个节点的最近共同父结点,复杂
度如果是 O(n
2
)则不得分。 ........................................................................ 44
5.如何不用递归实现二叉树的前序/后序/中序遍历? ............................ 47
6.在二叉树中找出和为某一值的所有路径............................................... 50
7.怎样编写一个程序,把一个有序整数数组放到二叉树中?............... 51
8.判断整数序列是不是二叉搜索树的后序遍历结果............................... 51
9.求二叉树的镜像....................................................................................... 52
10.一棵排序二叉树(即二叉搜索树 BST), 令 f=(最大值+最小值)/2,
设计一个算法,找出距离 f 值最近、大于 f 值的结点。复杂度如果是
![](https://csdnimg.cn/release/download_crawler_static/12063270/bg4.jpg)
数据结构 算法大全 编者:艾孜尔江
4
一、单链表
目录
1.单链表反转
2.找出单链表的倒数第 4 个元素
3.找出单链表的中间元素
4.删除无头单链表的一个节点
5.两个不交叉的有序链表的合并
6.有个二级单链表,其中每个元素都含有一个指向一个单链表的指针。写程序把
这个二级链表称一级单链表。
7.单链表交换任意两个元素(不包括表头)
8.判断单链表是否有环?如何找到环的“起始”点?如何知道环的长度?
9.判断两个单链表是否相交
10.两个单链表相交,计算相交点
11.用链表模拟大整数加法运算
12.单链表排序
13.删除单链表中重复的元素
首先写一个单链表的 C#实现,这是我们的基石:
public class Link
{
public Link Next;
public string Data;
public Link(Link next, string data)
{
this.Next = next;
this.Data = data;
}
}
其中,我们需要人为地在单链表前面加一个空节点,称其为 head。例如,一个
单链表是 1->2->5,如图所示:
对一个单链表的遍历如下所示:
static void Main(string[] args)
{
Link head = GenerateLink();
Link curr = head;
while (curr != null)
![](https://csdnimg.cn/release/download_crawler_static/12063270/bg5.jpg)
数据结构 算法大全 编者:艾孜尔江
5
{
Console.WriteLine(curr.Data);
curr = curr.Next;
}
}
1.
单链表反转
这道题目有两种算法,既然是要反转,那么肯定是要破坏原有的数据结构的:
算法 1:我们需要额外的两个变量来存储当前节点 curr 的下一个节点 next、再下
一个节点 nextnext:
public static Link ReverseLink1(Link head)
{
Link curr = head.Next;
Link next = null;
Link nextnext = null;
//if no elements or only one element exists
if (curr == null || curr.Next == null)
{
return head;
}
//if more than one element
while (curr.Next != null)
{
next = curr.Next; //1
nextnext = next.Next; //2
next.Next = head.Next; //3
head.Next = next; //4
curr.Next = nextnext; //5
}
return head;
}
算法的核心是 while 循环中的 5 句话
我们发现,curr 始终指向第 1 个元素。
此外,出于编程的严谨性,还要考虑 2 种极特殊的情况:没有元素的单链表,以
及只有一个元素的单链表,都是不需要反转的。
剩余56页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/c2965a1ceb1244dabeaad2f4a5144890_weixin_43867242.jpg!1)
艾孜尔江
- 粉丝: 54
- 资源: 123
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 基于微信小程序的刘光华博物馆HTML与JavaScript/TypeScript设计源码
- 基于Html、JavaScript、CSS、Vue的环保材料科普与推广平台设计源码
- 基于Vue框架的uni-app项目种子设计源码
- 基于Java的大数据系统基础「开心麻花」舞台剧评论挖掘暨受众分析系统设计源码
- 基于Java开发医院的住院管理系统后端设计源码
- 基于Vue框架的WhiteblogReader跨平台设计源码下载
- 基于Java、CSS、JavaScript的阶段性考核设计源码仓库
- 基于C#语言的初学者游戏设计学习源码分享
- 基于C#语言的ASP.NET作业设计源码分享
- 基于TypeScript的HarmonyOS学习小学生的设计源码分享
- 基于Vue框架的mlapp应急管理app设计源码
- cocos2d游戏图片裁剪工具可以一键裁剪png图片
- 基于HTML、CSS、JavaScript的JavaScript语言前端Web学习教程
- 基于Java+Vue的校园工作室企业门户网站设计源码
- 基于多种编程语言的编程导航网站设计源码
- 基于SSM+微信小程序的高校寻物平台管理系统设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)