公共基础数据结构与算法(一)

本文介绍了线性表排序的比较次数,强调了堆排序在最坏情况下的优势。阐述了栈和队列的工作原理,指出非线性结构的特性。讨论了算法的时间和空间复杂度,以及二叉树的性质。同时,提到了数据结构的存储方式,如顺序存储和链式存储,并分析了它们的优缺点。最后,讨论了线性链表、循环链表、双向链表和堆栈、队列在数据操作中的作用及其特点。
摘要由CSDN通过智能技术生成

1、对长度为n的线性表排序,在最坏的情况下:
比较次数为nlog2n的排序方法:堆排序(比较次数最少);
比较次数是n
(n-1)/2的排序方法是:快速排序、直接插入排序、冒泡排序。
希尔排序:nr(1<r<2)。

2、栈:按照“先进后出”或“后进先出”的原则组织数据(出栈与进栈顺序相反),队列是先进先出,只能在栈顶这一端插入和删除数据(栈顶元素最先被删除;当栈中只剩下栈底一个元素时,栈底元素也可被删除)。栈底元素最先入栈,栈顶元素最后入栈。
在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化。
非线性结构无所谓进出顺序。

3、算法复杂度:
时间复杂度:执行算法所需要的计算工作量(基本运算次数);
空间复杂度:执行这个算法所需要的内存空间(包括算法程序所占的空间、输入的初始数据所占的空间以及算法执行过程中所需要的额外空间,包括临时工作单元)

4、 二叉树具有以下几个性质:
性质 1:在二叉树的第 k 层上,最多有 2^(k-1)(k≥1)个结点。
性质 2:深度为 m 的二叉树最多有 2^m-1 个结点。
性质 3:在任意一棵二叉树中,度为 0 的结点(即叶子结点)总是比度为 2 的结点多一个。
性质 4:具有 n 个结点的二叉树,其深度至少为[log2n]&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值