
数据结构
文章平均质量分 67
kookie29
这个作者很懒,什么都没留下…
展开
-
时间复杂度及空间复杂度
一. 时间复杂度时间复杂度实际就是一个函数,该函数计算的是执行基本操作的次 数,而不是程序执行时间。1.在实际中通常关注的是算法的最坏运行情况。 一个算法的最坏情况的运行时间是在任意输入下的运行时间上界。 一般情况下使用O渐进表示法来计算算法的时间复杂度。 2.书写方式: 用常数1取代运行时间中的所有加法常数 在修改后的运行次数函数中,只保留最高阶项 如果最高阶项系数存在且不是1,则去除与这原创 2017-12-13 14:43:59 · 424 阅读 · 0 评论 -
(无头)单链表的插,删,查,改及相关测试用例
SList.h typedef int DataType; typedef struct SListNode { struct SListNode* _next; DataType _data; }SListNode; SListNode* BuySListNode(DataType x); void SListPrint(SListNode* pHead); void ...原创 2018-01-03 22:01:34 · 313 阅读 · 0 评论 -
二叉搜索树应用
1.判断一个单词是否拼写正确(递归) //key模型 typedef char* KeyType; typedef char* ValueType; typedef struct BSTreeNode { struct BSTreeNode* _left; struct BSTreeNode* _right; KeyType _key; ValueType _...原创 2018-02-27 17:30:28 · 422 阅读 · 0 评论 -
哈希变形之位图
位图:位图就是bitmap的缩写。所谓bitmap,就是用每一位来存放某种状态,适用于海量数据,但数据状态又不是很多的情况。通常是用来判断某个数据是否存在。 总之,位图就是一个用每一位的0,1来表示一个数的状态。 如下图所示: 实际应用 【腾讯】给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。 //位图 //1byte = 8bit; /...原创 2018-03-01 18:06:23 · 277 阅读 · 0 评论 -
栈和队列
栈的相关操作 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操 作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。不含任 何元素的栈称为空栈,栈又称为后进先出的线性表。 栈功能:将数据从一种序列改变到另一种序列 Stack.h typedef struct Stack { DataType* _array; size_t _top;//栈顶 ...原创 2018-03-08 18:28:53 · 233 阅读 · 0 评论 -
排序
排序算法稳定性: 如果在元素序列中有两个元素R[i]和R[j],它们的排序码K[i] == k[j],且 在排序之前,元素R[i]在R[j]的前面。如果在排序之后,元素R[i]仍在R[j] 之前,则称这个排序算法是稳定的,否则称这个排序算法是不稳定的。 内部排序:数据元素全部放在内存中的排序。 外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的...原创 2018-03-03 16:52:56 · 220 阅读 · 0 评论 -
校园导航
问题描述 问题描述 设计你的学校的平面图,至少包括10个以上的景点(场所),每两个景点间可以有不同的路,且路长也可能不同,找出从任意景点到达另一景点的最佳路径(最短路径)。 要求: (1)以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。 (2)为来访客人提供图中任意景点相关信息的查询。 (3)为来访客人提供...原创 2018-08-01 20:06:26 · 38766 阅读 · 0 评论