随笔分类 -  数据结构

动态规划(最长公共序列,最长上升序列)
摘要:在牛客网上刷面经的过程中,发现面试常问的两道题,这里记录下来,方便以后复习查看。 并分别在 poj 1458 2533 AC! 阅读全文

posted @ 2019-09-02 11:13 Magic_chao 阅读(553) 评论(0) 推荐(0)

从n个无序数中找出第K大的数
摘要:遇到题目为从n个无序数组中找出第K大的数,最开始想到的就是冒泡排序、选择排序等,每次找到一个最大(或最小)的,但是很明显需要时间复杂度为O(n*k)!具体代码细节参考findK_2 改进一点的算法有根据快速排序的思想,时间复杂度达到O(n)。想象一下,第k大,说明前面有k-1个元素是比第k个元素大, 阅读全文

posted @ 2019-08-06 17:02 Magic_chao 阅读(2309) 评论(4) 推荐(0)

数据结构--树(建立、遍历)
摘要:目前正准备2020届秋招 算法工程师,复习数据结构! 发现树遍历可以达到O(n)时间复杂度,O(1)空间复杂度(Morris遍历),赶紧学习了一波。并复习了建立树、遍历树的一些基本操作。 阅读全文

posted @ 2019-07-30 22:28 Magic_chao 阅读(1279) 评论(0) 推荐(0)

单链表为什么要设置头结点
摘要:转自https://www.cnblogs.com/youxin/p/3279391.html 链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行了。之后的每一个结点,其实就是上一个的后继指针指向的位置。 这里有个地方要注意,就是对头指针概念的理解,这个很重要。“链表中 阅读全文

posted @ 2018-09-25 16:15 Magic_chao 阅读(8095) 评论(0) 推荐(0)

数据结构--链队列基本操作
摘要:#include //链队列的基本操作,首先我们要知道队列是在队头进行删除,队尾进行插入 #include#include typedef struct Sq{ int data; //数据域 struct Sq *n... 阅读全文

posted @ 2016-04-15 00:20 Magic_chao 阅读(232) 评论(0) 推荐(0)

静态链表
摘要:#include#define MAXSIZE 100typedef struct { int data; int cur;}sqllist;void init(sqllist p[]) //数组空间初始化为链表 ,p[0].cur为头指针 { int ... 阅读全文

posted @ 2016-04-07 09:17 Magic_chao 阅读(97) 评论(0) 推荐(0)

导航