★忒變&忄★
★忒變&忄★
全部文章
分类
C++(21)
HELLO C(19)
IT资源(8)
LC(12)
Linux(9)
数据结构(20)
未归档(5)
网络编程(3)
计算机组成原理(1)
归档
标签
去牛客网
登录
/
注册
★忒變&忄★的博客
全部文章
(共98篇)
初夏小谈:排序算法---冒泡排序(极致优化)
冒泡排序算法是我们学习数据结构时所接触到的第一个排序算法,因为其思想比较简单,易于理解,和其形象化的特点。也被我们称之为起泡排序。 冒泡排序就像鱼吐泡泡的过程,最大的最先浮上来一次是次大的。从第一个元素开始,将每两个之间进行比较,如果前面的大于后面的则将他们两个的位...
2019-03-10
0
410
初夏小谈:复杂链表的复制
在链表的中有这样一类链表。它至少包含两个指针。其中一个指向下一个结点。有一个指针随机的指向链表的其它结点,也可能指向它自己,也可能指向NULL。对于该类链表的复制来说。最大的难度就是如何处理复制的新链表的这个随机指针指向的问题。 因此在对该类链表处理时,就必须根据源链表的指针指向来得到新链表的...
2019-02-26
0
274
初夏小谈:前序构造二叉树及三种遍历(完整版)
通过前序来构造出一棵二叉树,创建一颗二叉树,可以先创建根节点,后再创建它的左孩子和右孩子。遇到空就停止。对于每个结点都是先创建它的左孩子,之后再创建它的右孩子。 但是在创建左孩子和右孩子是,最大的问题就是,待创建数据要移动相应的位。每消耗一个数据就要取下一个元素。可以通过一个变量来计数移动的个数...
2019-01-17
0
452
初夏小谈:二叉树的三种遍历(1)
二叉树的遍历一般分为三种即为,前序遍历,中序遍历,后序遍历。 所谓前序遍历就是从二叉树的根节点出发,先访问根节点,在访问左孩子,然后访问右孩子。注意这是对于每一个结点都符合的条件。 中序遍历就是先访问左孩子,再访问根节点,最后访问右孩子。同样对每个节点都适用。 后序遍历则是先访问左孩子,...
2019-01-15
0
352
初夏小谈:堆的基本操作(完整版)
堆的建堆,插入、删除、操作 堆本身就是一个完全二叉树,在这里采用数组进行存储。因为可以通过下标快速找到它的孩子。堆的最大作用就是:返回一组的数据的最值。 建堆: 在建堆的过程中,需要几个基本操作:首先先建立一个数组用来存储堆数据,其次就要开始对这组数据进行建堆的过程,需要将数据进...
2018-12-14
0
314
初夏小谈:循环队列的基本操作(完整版)
循环队列的入队,出队,队首,队尾等基本操作 其核心思想是让队尾拼接到队首元素上,形成一个环。在实现的时候应当注意标记队尾后一个数据的下标不能大于等于队列容量。由于队列先入先出的原则,我用数组进行存储数据,只需操纵数组下标即可。首先队首,队尾应做一个标记以便操作循环队列的出队列,入队列,其次需...
2018-12-11
0
443
初夏小谈:队列的基本操作(完整版)
队列的入队,出队等操作 队列的特点:先进先出。这种规则在我们生活中屡见不鲜。比如:中午吃饭时的窗口前排队,火车过隧道,各种业务办理排队等等。如果谁插队,大家就会向他(她)投向愤怒,鄙视的目光。甚至可能展开一场弥漫火药的战争。所以还是不要插队,否则后果很严重。 这就意味着队列只能在队尾增加...
2018-12-09
0
298
初夏小谈:双向循环链表增、删、查、改基本操作(完整版)
带头结点的双向循环链表 我之前对链表进行操作时一直是用头指针的方式,今天所说的链表是用头结点的方式。它们二者其实区别不是很大。共同点都是指向链表的第一个结点。不同点是:头结点的存储数据的内存里面可以存储链表信息,也...
2018-12-09
0
307
初夏小谈:栈的入栈、弹栈操作(完整版)
今天来说说栈的相关操作即:压栈,弹栈。 因为栈就类似于一个子弹夹一样只能从最上面压进去,也只能从最上面弹出来。所以形象的名为:压栈,弹栈,又名入栈,出栈。 由于栈的操作只能在栈顶进行,所以就类似于顺序表/链表的尾插,由于链表的尾插时间复杂度是O(n),而顺序表则是O(1)所以我用顺序表的...
2018-12-09
0
399
初夏小谈:找链表倒数第K个结点
因为单链表不同于数组,数组可以用下标来访问数组中任意一个数据,而单链表却只能依靠于结点的地址来一个一个查找。 对此就可以让定义一个快指针和一个慢指针。慢指针也指向第一个结点。一个快指针先走k-1步,因为快指针初识指向第一个结点,然后让两个指针一起走。另外要注意K的范围,及边界的判定问题。 ...
2018-12-07
0
326
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页