程序运行时的内存与地址 1.理解内存在开始数据结构的正式代码编写之前,我们得先熟悉一个计算机中重要的概念——内存,当然这里不是教你如何选购内存条,这里是介绍数据结构学习中必须要掌握的关于内存的基本概念。首先请看这么一张图:(地址的常用表示为十六进制表示法,即Ox+十六进制数)由这个图可以清晰的发现对于每一段的内存中的数据, 数据结构入门 2022年02月07日 138 点赞 0 评论 112578 浏览
广义表的介绍及设计(C语言实现) 1.简介数组可以存储不允许再分割的数据元素,如字符’X’,数字11,当然他也可以存储数组,二维数组就是一个例子,你可以理解二维数组的每一行的元素是一列中的对应元素的组合。广义表是一种线性表,或者说,广义表是一种线性表的推广,它属于多层次的线性表, 串、数组、矩阵和广义表 2022年01月06日 91 点赞 0 评论 106065 浏览
线性(顺序)查找介绍与实现 1.查找算法查找算法是指:从一些数据之中,找到一个特殊的数据的实现方法。查找算法与遍历有极高的相似性,唯一的不同就是查找算法可能并不一定会将每一个数据都进行访问,有些查找算法如二分查找等,并不需要完全访问所有的数据。查找算法适用于很多场景,最典型的应用场景就是已知次品商品的特征, 查找算法 2022年01月04日 239 点赞 0 评论 109994 浏览
竞赛学习路线推荐(算法数据结构) 阅读这一节之前,请确认你熟悉的语言,无论C、C++、java都已经很熟练运用,不存在语法问题了,否则参考本节的学习路线会让你变得着急和打退堂鼓对于已经掌握一种语言可以参赛之后,算法和数据结构的学习,笔者认为大体分三个步骤:那些顺带的、不用专门学的常规算法和数据结构;这些如递归算法、遍历枚举、模拟、素数 从入门到进阶 2022年05月04日 234 点赞 0 评论 119208 浏览
简单选择排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(1)//即不需要排序,本身已是正序平均情况:O(n^2)空间复杂度:S(n)=O(1)稳定性:不稳定排序2.过程介绍(以顺序为例)1.我们设置两个记录i和j,i自数组第一个元素开始,j自i+1个元素开始。 排序算法 2022年01月18日 192 点赞 0 评论 83461 浏览
C++中string字符串类型介绍 1.简介C语言中通过字符相连已经基本创造出了字符串的常规操作,然而,字符串在C语言中并不是常规类型,而是一个类似于数组的结构,在C++中,通过模板类的操作创建了string类,这样的方法更适合于现代的操作编程。2.头文件&命名空间#include<string>//头文件注意不是<string.h>也 串、数组、矩阵和广义表 2022年03月19日 228 点赞 0 评论 112324 浏览
参考及相关链接 参考目录:《大话数据结构》程杰著《数据结构与算法》小黑书,C语言版本《算法与数据结构》小黑书,JAVA版本互联网搜索引擎如百度和谷歌CSDNStack论坛在基本完成数据结构的学习,你应该可以做到:1.完全自由的写出链表,以及基本的操作方法和进阶, 后记 2022年01月31日 57 点赞 0 评论 76636 浏览
循环队列及假溢出的现象图文详解 1.顺序队列的假溢出&循环队列的概念我们已经明白了队列这种基本数据结构,对于顺序队列而言,其存在已经足够解决大多时候的设计问题了,但是其依旧存在一些缺陷和不足,因为我们的入队和出队操作均是直接在其后面进行结点的链接和删除,这就造成其使用空间不断向出队的那一边偏移,产生假溢出。 队列 2022年03月15日 262 点赞 0 评论 126077 浏览
双向链表的基本设计(C语言代码实现) 1.双向链表的简介&概念单链表在很多时候已经可以胜任很多优秀的操作了,但是,单链表任然存在不足,所谓‘单链表’,是指结点中只有一个指向其后继的指针,具有单向性,有时需要搜索大量数据的时候,就必须要多次进行从头开始的遍历,这样的搜索不是很便利。 链表 2022年05月07日 234 点赞 0 评论 100425 浏览
数学基础 在开始我们数据结构的教程之前,你需要具备以下数学基础知识,这些知识可能不会马上体现在计算机编程中,但是随着学习的深入,这些知识愈发愈用的平凡,于其遇到了再的碎片化,不如我们单独开出一节来单独学习这些数学基础知识注意,我们这里只是简单提及一些公式和原理, 数据结构入门 2022年02月15日 185 点赞 0 评论 121855 浏览