数据结构和算法
文章平均质量分 76
峰回路转f
先自沉稳而后爱人
展开
-
<<数据结构中最全的8种排序算法总结>>
冒泡排序、选择排序、插入排序 一、冒泡排序1.冒泡排序思想2.冒泡排序步骤3.冒泡排序代码二、选择排序1.选择排序思想2.选择排序代码三、插入排序1.插入排序思想2.插入排序代码一、冒泡排序1.冒泡排序思想交换排序基本思想是:两两比较待排序列中的元素,并交换不满足顺序要求的各队元素,直到全部满足顺序要求为止。而最简单的交换排序就是冒泡排序。2.冒泡排序步骤(1)对具有n个元素的序列按升序进行冒泡排序,首先将第一个元素与第二个元素进行比较,若为逆序,则将两元素交换。然后比较第二、第三个元素,以此类推原创 2020-10-23 12:42:53 · 461 阅读 · 0 评论 -
《二叉树中常见面试题--单值二叉树、翻转二叉树、平衡二叉树》
二叉树常见面试题1.单值二叉树2.二叉树最大深度3.翻转二叉树4.相同的树5.平衡二叉树1.单值二叉树描述:如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。代码如下(示例):struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; bool _isUnivalTree(struct Tree原创 2021-03-04 21:16:43 · 414 阅读 · 1 评论 -
数据结构之——《队列》
数据结构之——《队列》1.队列2.队列接口实现3.应用案例:用一个队列实现栈4.小结1.队列队列:是一种先进先出(FIFO)的线性表,允许在表的一端进行插入(即入队),在表的另一端进行删除(即出队)。入队:队尾(rear)插入;出队:队头(front)删除;2.队列接口实现(1)定义队列结构体代码如下(示例):typedef int QDataType;typedef struct QNode{ struct QNode* _next; QDataType _data;}QN原创 2020-12-30 11:15:02 · 326 阅读 · 0 评论 -
数据结构之——《栈》
数据结构之——《栈》1.栈的概念及结构2.栈的接口实现3.总结1.栈的概念及结构(1)栈:栈是一种特殊的线性表,只允许在固定的一端进行插入和删除元素操作。(2)压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈,出数据也在栈顶。(3)原则:栈中的数据元素遵守后进先出(LIFO)的原则。2.栈的接口实现(0)栈的容量检查代码如下(示例):void checkCapacity(stack* st){ if (st->_size == st->_原创 2020-12-25 15:09:29 · 251 阅读 · 0 评论 -
数据结构之——《双向链表》
数据结构之——《双向链表》1.双向链表2.特点3.接口实现1.双向链表带头双向循环链表,实现插入,删除特别容易,而且时间复杂度为o(1)。2.特点(1)优点:任意位置插入,删除效率高,都是o(1)的复杂度。(2)缺点:首先空间不连续,其次不支持随机访问,最后空间利用率低,容易造成内存碎片。3.接口实现(1)尾插操作代码如下(示例):void listPushBack(List* lst, LDataType val){ if (lst == NULL) return; str原创 2020-12-24 17:57:11 · 104 阅读 · 1 评论 -
数据结构之——《单链表》
数据结构之—《链表》1.链表概念2.链表分类总结1.链表概念链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现。2.链表分类代码如下(示例):data = pd.read_csv( 'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')print(data.head())该处使用的url网络请求的数据。总结提示:这里对文章进行总结:例如:以上就是今天要讲原创 2020-12-21 15:44:12 · 143 阅读 · 0 评论 -
数据结构之——《顺序表》
数据结构之——《顺序表》1.含义2.分类3.接口函数实现4.顺序表的优缺点1.含义顺序表示用一段纹理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删查改。2.分类顺序表一般分为:(1)静态顺序表:使用定长数组存储(2)动态顺序表:使用动态开辟的数组存储3.接口函数实现(0)顺序表的初始化代码如下(示例):void initSeqList(seqList* s1){ s1->_data = NULL; s1->_size =原创 2020-12-19 20:02:37 · 128 阅读 · 1 评论