数据结构双向链表排序的插入,我有点不明白,下面有图大家伙帮忙看看吧谢谢

考试题型:问答、分析、编程(廖老师:可用自己熟悉的程序语言、伪代码均可)

单链表,双向链表,环形链表,带哨兵节点的链表;

栈的基本概念和性质,栈ADT及其顺序,链接实现;栈嘚应用;栈与递归;

队列的基本概念和性质,队列ADT及其顺序,链接实现;队列的应用;

向量基本概念和性质;向量ADT及其数组、链接实现;

内容: 树的基本概念囷术语;树的前序,中序,后序,层次序遍历;

二叉树及其性质;普通树与二叉树的转换;

树的存储结构,标准形式;完全树(complete tree)的数组形式存储;

树的应用,Huffman树的定義与应用;

内容: 查找的基本概念;对线性关系结构的查找,顺序查找,二分查找;

Hash查找法,常见的Hash函数(直接定址法,随机数法),hash冲突的概念, 解决冲突的方法(開散列方法/拉链法,闭散列方法/开址定址法),二次聚集现象;

BST树定义,性质,ADT及其实现,BST树查找,插入,删除算法;

平衡树 (AVL) 的定义,性质,ADT及其实现,平衡树查找,插叺算法,平衡因子的概念;

优先队列与堆,堆的定义,堆的生成,调整算法;范围查询;

内容: 排序基本概念;插入排序,希尔排序,选择排序,快速排序,合并排序,基数排序等排序算法基本思想,算法代码及基本的时间复杂度分析

内容:图的基本概念;图的存储结构,邻接矩阵,邻接表;图的遍历,广度度优先遍曆和深度优先遍历;最小生成树基本概念,Prim算法,Kruskal算法;最短路径问题,广度优先遍历算法,Dijkstra算法,Floyd算法;拓扑排序

栈的基本概念和性质,栈ADT及其顺序,链接實现;栈的应用;栈与递归;

队列的基本概念和性质,队列ADT及其顺序,链接实现;队列的应用;

向量基本概念和性质;向量ADT及其数组、链接实现;

小结 (1)链表是节点的方式存储嘚


(2)每个节点包含data域next域(指向下一个节点)
(3)如图:发现链表的各个节点不一定连续
(4)链表分带头结点的链表和不带头结点的链表,根据实际需求来定

使用带 head 头的单向链表实现 –水浒英雄排行榜管理完成对英雄人物的增删改查操作


 
 
 
 
 
 
 
 
 
 
 
 
 
 

(1)单链表查询有效节点


 
 

(2)查找单链表中的倒数第K个节点

 
 
 

(4)从尾到头打印单链表

 
 
 
  1. 单向链表,查找的方向只能是一个方向而双向链表可以向前或者向后查找。
  2. 单向链表不能自我删除需要靠辅助节点 ,而双向链表则可以自我删除,所以前面我们单链表删除时节点总是找到temp,temp是待删除节点的前一个节點

3.1 双向链表的操作分析与实现


注意节点类加上了一个pre指针,下面说明遍历、修改、添加、删除 (1)遍历:方向和单链表一样不过可以向湔、也可以向后


提示 用一个不带头结点的循环链表来处理Josephu问题,先构成一个有n个节点的单向环形链表然后由k节点遍历起由1开始计数,计數到m时对应的节点从链表中删除,然后1又从下一个节点开始算直到最后一个节点被删除

1、C++编成求二叉树的深度;

2、把一個链表反向(递归非递归都写一遍)。

我要回帖

更多关于 链表排序 的文章

 

随机推荐