数据结构与算法.docx
《数据结构与算法.docx》由会员分享,可在线阅读,更多相关《数据结构与算法.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构与算法 第一节数据结构及算法概述一、数据结构O OOOOO集合结构树型结构(b)线性结构(d)图形结构图.!1!类基本结构的示意图【要点】.数据元素是数据的基本单位。1 .数据结构是相互之间存在一种或多种特定关系的数据元素的集合。2 . 4类基本的规律结构:集合、线性结构、树形结构和网状结构。3 . 4种数据存储方式:挨次、链式、索引和散列。【例题单项选择题】(2022年X省信用社聘请考试真题)以下说法不正确的选项是()OA.数据元素是数据的基本单位B.数据项是数据中不行分割的最小标志单位C.数据可由假设干个数据元素构成D.数据项可由假设干个数据元素构成正确答案D答案解析数据元素是数据
2、的基本单位,在计算机程序中通常被作为一个整体进 行考虑和处理。一个数据元素可由假设干个数据项组成。数据项是不行分割的、含有独立 意义的最小数据单位。因此D选项不正确。二、算法在待排序的n个纪录中任取一个纪录(例如就取第1个纪录),以该纪录的键 值为标准,将全部纪录分为两组(一般都是无序的),使得第1组中各纪录的键值均小 于或等于该键值,第2组中各纪录的键值均大于该键值。然后把该纪录排在这两组的中 间(这也是该纪录最终的位置)。此称为一趟快速排序(或一次划分),对所分成的两 组再分别重复上述方法,直到全部纪录都排在适当位置为止。【要点】冒泡排序和快速排序方法。【例题单项选择题】(2022年X省信
3、用社聘请考试真题)用某种排序方法对序 列(25, 84, 21, 47, 15, 27, 68, 35, 20)进行排序,纪录序列的变化状况如下:那么采纳的排序方法是()。A.直接选择排序B.冒泡排序C.快速排序D.二路归并排序正确答案C答案解析直接选择排序第一趟就应中选出一个最小的在第一个位置;冒泡排序 法是两两比拟,25与84比拟,25要小,位置不变;快速排序法使比基准数(第一趟是 25)小的数在基准数左边,比基准数大的数在基准数右边;二路归并排序是分组比拟, 第一趟应当是“2584”、“2147”、“1527”、“6835”、“20”这几组进行排序。 (三)选择排序每一趟从待排序的纪录中
4、选出关键字最小的纪录,挨次放在已排好序的子文件 的最终,直到全部纪录排序完毕。常用的选择排序方法有直接选择排序和堆排序。1 .直接选择排序先在全部的纪录中选出键值最小的纪录,把它与第1个纪录交换;然后在其余 的纪录中再选出键值最小的纪录与第2个纪录交换;依此类推,直至全部纪录排序完成。2 .堆排序对一组待排序纪录的键值,先将它们按堆定义排成一个堆,这称为建堆。这就 找到最小的键值。然后将最小键值取出,用剩下的键值再建堆,便得到次最小的键值。如此反复进行,直到得到最大键值,从而将全部键值排好序为止。(四)归并排序将这些有序的子序列进行合并,从而得到有序的序列。合并是一种常见运算, 其方法是:比拟
5、各子序列的第一个纪录的键值,最小的一个就是排序后序列的第一个纪 录的键值。取出这个纪录,连续比拟各子序列现在的第一个纪录的键值,便可找出排序 后的其次纪录。如此连续下去,最终可以得到排序结果。算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每条指令表示一个或多个操作。算法的特性:有穷性、确定性、可行性、输入和输出。【要点】评价算法优劣标准:正确性、可读性、健壮性、高效率与低存储量需求。其次节线性表线性表是n (n20)个数据元素al, a2,,an组成的有限序列,n=0时称为 空表。非空的线性表,有以下特征:1 .有且仅有一个开头结点al,没有直接前趋,有且仅有一个直接后继a2。2
6、 .有且仅有一个终结结点an,没有直接后继,有且仅有一个直接前趋3 .其余的内部结点ai (2WiWnT)都有且仅有一个直接前趋a.1和一个直接 后继&I+10线性表的链式存储包括单链表、循环链表和双链表。head首结点尾结点三BT+NULLa1【留意】与单链表的插入和删除操作不同的是,在双链表中插入和删除须同时修改两个 方向上的指针。第三节栈和队列一、栈栈是一种“特别的”线性表,这种线性表中的插入和删除运算限定在表的某一端进行。不含任何数据元素的栈称为空栈。栈的基本运算:构造一个空栈InitStack (S)、判栈空StackEmpty (S)、判栈满 StackFull (S)、进栈 Pu
7、sh (S, x)、退栈 Pop (S)、取栈顶元素 StackTop (S)。进栈 (压入)退栈 (弹出)topbottom【要点】栈的修改是按后进先出的原那么进行。二、队列 队列是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。当队列中没有元素时称为空队列。栈和队列一般有两种存储结构:挨次存储结构和链式存储结构。q。 gi azrearrearfront【要点】队列的修改是依据先进先出的原那么进行的。【例题单项选择题】(2007年X省信用社聘请考试真题)以下()不是栈的基本运算?A.删除栈顶元素B.删除栈底元素C.推断栈是否为空D.将栈置为空栈正确答案B答案解析栈是一种特别的线
8、性表,这种线性表上的插入和删除运算限定在表的 某一端进行。允许进行插入和删除的这一端称为栈顶,另一端称为栈底。处于栈顶位置的数据元素称为栈顶元素。栈的修改是按后进先出的原那么进行。栈的运算在栈顶进行。 因此,删除栈底元素不属于栈的基本运算。第四节数组数组:把具有相同类型的假设干变量按有序的形式组织起来的同类数据元素的集合。第1五节树一、树(一)基本概念root苞(b)rootQlevel 0C) HD)level 1idepth=3)甲(1)一level 2 M) eve I 3树是n (n0)个结点的有穷集合,满意以下条件:(1)有且仅有一个称为根的结点。(2)其余结点分为m (m2。)个互
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 算法
限制150内