![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
Kevin@1997
每日三省吾身,为什么又不看书。
展开
-
数据结构:递归相关例题
递归函数是指其中出现调用自己的语句,如果调用自己的语句在函数最后一行,则称为尾递归。一般来说能用递归解决的问题应满足3个条件:需要解决的问题可以分解成一个或多个相互独立的问题来解决。调用递归的次数有限。有一个结束条件来结束递归。递归思路是把一个不能或不好直接求解的大问题转化成若干个小问题来解决,再把这些小问题进一步分解成更小的、更容易解决的问题,如此一直分解,直到每个小问题都可以直接解...原创 2019-07-17 09:40:42 · 1064 阅读 · 0 评论 -
数据结构:队列的C语言实现
队列(Queue),是一种特殊的线性表,其元素的逻辑关系是线性关系,其特殊性体现于只能在一端做插入运算,另一端删除元素。队列表现先进先出(FIFO)的特点。队列的基本运算如下:createQueue():创建队列isEmpty(Queue queue):判空getFirstElem(Queue queue):得到队头元素addElem(Queue& queue, QueueTy...原创 2019-07-16 17:35:11 · 1241 阅读 · 0 评论 -
数据结构:栈的C语言实现
栈(Stack),也称为堆栈,是一种特殊的线性表,其元素的关系是线性关系,其特殊型体现在只能在一端插入和删除元素。栈表现后进先出(LIFO)的特点。栈的基本运算如下:initStack(Stack &stack):初始化栈isEmpty(stack):判断栈是否为空top(Stack stack, StackType& elem):取栈顶元素push(Stack &am...原创 2019-07-16 10:07:34 · 233 阅读 · 0 评论 -
数据结构:单链表的C语言实现
链式存储原理: 链表存储是在程序运行过程中动态的分配空间,只要存储器还有空间,就不会发生存储溢出问题。优点: 插入和删除速度快,保留原有的物理顺序,插入或者删除一个元素时,只需要改变指针指向即可。缺点: 查找速度慢,每次查找都要遍历链表。#include <stdio.h>#include <stdlib.h>typedef int LinkType; //数据...原创 2019-07-15 11:14:41 · 1131 阅读 · 0 评论 -
数据结构:顺序表的C语言实现
顺序结构定义: 将表中元素一个接一个的存入一组连续的存储单元中,这种存储结构是顺序结构。原理: 顺序表存储是将数据元素放到一块连续的内存存储空间,存取效率高,速度快。但是不可以动态增加长度。优点: 存取速度高效,通过下标来直接存储缺点: 1.插入和删除比较慢,2.不可以增长长度比如:插入或者删除一个元素时,整个表需要遍历移动元素来重新排一次顺序。在顺序表中,插入一个元素平均移动的次数是n...原创 2019-07-15 11:10:23 · 856 阅读 · 2 评论