
数据结构入门
文章平均质量分 87
入门级数据结构教程,手把手带领大家学习并了解各种数据结构及基础算法,帮助大家建立初步的算法思想,迈向更高层次的天空。
程序猿是小贺
爱学习、知上进、善沟通、懂感恩
一个正在努力的大三学生,在为自己的未来奋斗,希望可以和大家一起进步!
如果你有什么问题欢迎前来骚扰,微信号Herman-001,私信可能回得慢一点,不要介意哈 没发文的时候是在好好学习
展开
-
要想学好八大排序算法这篇文章你不得不看,巨详细王大爷表示都看得懂
哈喽,小伙伴们大家好啊,众所周知,排序在我们生活中的应用十分广泛,那么今天我就来跟大家学习一下数据结构中的几个基本排序算法,由于我作图能力有限,所以这里部分图片来源于网络,侵删哈!原创 2021-06-08 07:53:32 · 3493 阅读 · 219 评论 -
这些二叉树基础OJ题你要是还不会,真的没有大厂敢聘用你!
前几天的文章中我写到了二叉树的操作实现但是一直都没有机会来自己刷刷OJ,今天他来了,准备了好几道题来供大家参考,加固一下我的知识顺便来巩固一下大家的理解,是不是一举两得呢?时间有限,我就不画图展示了,你们这么聪明一定可以看懂的对吧,大概的实现思路我会留在代码处,必要的朋友可以联系我一起讨论啊!原创 2021-06-06 08:55:58 · 1086 阅读 · 71 评论 -
数据结构C语言 《四》二叉树链式的实现及操作《下》
二叉树的链式结构的实现二叉树链式结构的遍历二叉树链式结构的实现--核心模块二叉树链式结构的实现--全代码 二叉树链式结构的遍历 遍历指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。 二叉树链式结构的实现–核心模块 开辟空间 BTNode* BuyBinaryTreeNode(BTDataType x) { BTNode* node = (BTNode*)malloc(sizeof(BTNode)); if (NULL == node) { assert(0); return原创 2021-05-29 16:23:25 · 1449 阅读 · 72 评论 -
数据结构C语言 《四》二叉树,堆的基本概念以及堆的相关操作实现(上)
二叉树1.树1.1树的概念1.2树的表示2.二叉树2.1二叉树的概念2.2二叉树的性质2.3二叉树的存储方式2.4二叉树的遍历3.堆3.1堆的概念3.2堆的实现 1.树 1.1树的概念 树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 有一个特殊的结点,称为根结点,根节点没有前驱结点 除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1&原创 2021-05-25 10:55:00 · 2843 阅读 · 156 评论 -
数据结构C语言篇《三》栈和队列概念,模拟函数实现,以及相关OJ面试题
#pragma once typedef int DataType; typedef struct Stcak { DataType *arr; int capacity; //容量大小 int size; //有效元素个数---栈顶 }Stack; //栈的初始化 void StackInit(Stack *ps); //入栈 void StackPush(Stack *ps, DataType data); //出栈 void StackPop(Stack *ps); //获取栈顶元原创 2021-05-22 16:55:58 · 1229 阅读 · 51 评论 -
数据结构c语言篇 《二》带头双向循环链表实现以及链表相关面试题(下)
循环链表增删改查等多功能实现及相关面试题(下)链表双向循环链表的实现链表面试题(下)1. 合并两个有序链表2.链表分割3.环形链表4.环形链表25.复制带随机指针的链表6.对链表进行插入排序7.删除链表中重复的结点8.链表的回文总结与感悟 链表 借图镇楼 双向循环链表的实现 SHList.h typedef int DataType; typedef struct SHListNode { struct SHListNode* next; DataType data; }Node; //初始化函原创 2021-05-19 13:28:58 · 982 阅读 · 40 评论 -
数据结构c语言篇 《二》链表概述,增删改查等多功能实现及相关面试题(上)
链表概述链表概念链表的结构头节点和头指针链表的实现相关面试题1.移除链表元素2.反转链表3.链表的中间结点4.获取该链表中倒数第k个结点。5.链表相交 概述 链表概念 链表,别名链式存储结构或单链表,用于存储逻辑关系为 “一对一” 的数据。与顺序表不同,链表不限制数据的物理存储状态,换句话说,使用链表存储的数据元素,其物理存储位置是随机的。 链表的结构 链表中每个数据的存储都由以下两部分组成: 数据域 指针域 1.数据元素本身,其所在的区域称为数据域; 2.指向直接后继元素的指针,所在的区域原创 2021-05-15 18:32:01 · 1034 阅读 · 35 评论 -
数据结构C语言 《一》斐波那契数 时间,空间复杂度详述
斐波那契数 时间,空间复杂度大O的渐进表示法推导大O阶方法:时间复杂度时间复杂度的概念空间复杂度空间复杂度的概念 大O的渐进表示法 推导大O阶方法: 1、用常数1取代运行时间中的所有加法常数。 2、在修改后的运行次数函数中,只保留最高阶项。 3、如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。 注意:有些算法的时间复杂度存在最好、平均和最坏情况: 最坏情况:任意输入规模的最大运行次数(上界) 平均情况:任意输入规模的期望运行次数 最好情况:任意输入规模的最小运行次数(下界)原创 2021-04-30 00:11:45 · 2137 阅读 · 2 评论