归并排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况O(NlogN)最好情况O(NlogN)平均情况O(NlogN)空间复杂度O(N)注:归并排序需要创建一个与原数组相同长度的数组来辅助排序稳定性:稳定排序2.过程介绍归并排序的核心思想是将两个有序的数列合并成一个大的有序的序列。 排序算法 2022年03月30日 245 点赞 0 评论 83287 浏览
C++的区别 1.从C语言到C++1980年,BjarneStroustrup博士着手创建一种新的语言,能够具有面向对象的程序设计特色。在当时,面向对象编程是一个新颖的概念,Stroustrup博士并不是从头开始设计新语言,而是使用C语言进行修改,而这就是C++语言。 C++STL库教程(附带题库) 2022年03月05日 153 点赞 0 评论 81807 浏览
C/C++如何设计函数多返回值? 有那么一种情况,函数本身需要返回多个值,如在地图参数中需要返回二维坐标(x,y),或者是系统设计中需要返回一个学生多门课程的成绩。这里提供了一些做法和思路。1.全局变量,为什么不用它?如,这样的方法,当我们需要通过函数对多个值进行返回和传递的时候, C++STL库教程(附带题库) 2022年05月29日 136 点赞 0 评论 81123 浏览
广义表的创建及C语言代码实现 1.广义表的创建如图所示,广义表的每一个结点相互串联,有些结点存储原子数据,有些结点则存储另一份广义表数据,我们创建数据stringss="(2,3,4,(1,(3,(7,8)),2))";其基本可以分成4层,每一个层中一个括号表示下一层,在数学表示中,我们也常用括号的级数表示广义表。 串、数组、矩阵和广义表 2022年05月28日 160 点赞 0 评论 76663 浏览
参考及相关链接 参考目录:《大话数据结构》程杰著《数据结构与算法》小黑书,C语言版本《算法与数据结构》小黑书,JAVA版本互联网搜索引擎如百度和谷歌CSDNStack论坛在基本完成数据结构的学习,你应该可以做到:1.完全自由的写出链表,以及基本的操作方法和进阶, 后记 2022年01月31日 57 点赞 0 评论 76636 浏览
C++STL之multiset与multimap容器 1.MultisetMultiset是set集合容器的一种,其拥有set的全部内容,在此基础之上,multiset还具备了可以重复保存元素的功能,因此会有略微和set的差别。Multise容器在执行insert()时,只要数据不是非法数据和空数据, C++STL库教程(附带题库) 2022年01月30日 246 点赞 0 评论 75288 浏览
各种排序算法总结 1.排序汇总类别排序方法时间复杂度空间复杂度稳定性平均情况最好情况最坏情况插入排序直接插入O(n^2)O(n)O(n^2)O(1)稳定希尔排序O(n^2)O(n)O(n^2)O(1)不稳定选择排序直接选择O(n^2)O(n^2)O(n^2)O(1)不稳定堆排序O(nlogn)O(nlogn)O(nlo 排序算法 2022年01月13日 195 点赞 0 评论 75023 浏览
C++字符串常用操作(二) 1.字符串连接操作顾名思义,即将一个字符串链接到另一个字符串的尾部,我们可以创建一个函数,同时利用指针,分别先后全部遍历两个字符串,将其中一个字符串的结束符’\0’去除并链接另一个字符串直到遇到结束符’\0’即可,函数实现为:#include<stdio.h>char*_strcat(chardest 串、数组、矩阵和广义表 2022年03月28日 124 点赞 0 评论 74766 浏览
堆排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(nlogn)稳定性:不稳定排序2.什么是堆?堆排序是一个比较特殊的排序方式,在学习之前我们必须要了解什么是堆堆是一种非线性的数据结构,可以把堆看作一个数组, 排序算法 2022年03月31日 84 点赞 0 评论 69671 浏览
手指树的基本结构 一、简介手指树(FingerTree)是一种纯函数式数据结构,由RalfHinze和RossPaterson提出。二、为什么需要手指树?在函数式编程中,列表是十分常见的数据类型。对于基于序列的操作,包括在两端添加和删除元素(双端队列操作),在任意节点插入、连接、删除, 数据结构 2022年05月22日 142 点赞 0 评论 66507 浏览