文章目录 前言 一、什么是冒泡排序? 二、算法思想 三、实例讲解 四、算法分析 1.时间复杂度 2.空间复杂度 五、代码实现 六、运行结果 总结 前言 相信大家在学习数据结构算法的时候经常会遇到的问题就是,老师讲解完这个…
分类:数据结构
几种排序的总结(包括含有重复数字的快速排序)
文章目录 1.冒泡排序 2.选择排序 3.插入排序 4.折半插入排序 4.希尔排序 5.归并排序 递归实现归并排序 非递归方式实现归并排序(C语言) 6.快速排序 7.基数排序 8.堆排序 1.冒泡排序 冒泡排序(Bub…
C语言链表模板,学生管理系统(链表数据写入文本) 。
链接:《c语言项目》学生成绩管理系统(devc++) 链表,学生管理系统(链表数据写入文本) 模板。 示例代码: #include<stdio.h> #include<stdlib.h> #def…
数据结构的三个方面
——数据的逻辑结构 ——数据的存储结构 ——数据的运算
一文带你秒懂数据结构与算法的三大要素、五大特征!
我叫《数据结构与算法》,是计算机世界的四大基石之一。 想来我应该是惹人怜爱的吧(认真脸),因为我仿佛听到了无数个初入计算机世界的同学的呐喊声()。 我作为一门简单学科,看到有很多的在半途弃我而去,我很是痛心疾首。于是,委…
数据结构-线性表(顺序表)中删除相同的元素,只保留一个
这个专栏用于写一些数据结构中的例题,从线性表开始啦。 顺序表应用1:多余元素删除之移位算法 Description 一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序…
六大排序算法:插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序
文章目录: 1. 插入排序 2.希尔排序 3.选择排序 4.冒泡排序 5.堆排序 6.快速排序 5.1 hoare版本(左右指针法) 5.2 挖坑法 5.2.1 递归 5.2.2 非递归 5.3 前后指针法 1. 插入排…
Python实现快速排序
Python实现快速排序 一、快速排序简介 快速排序(Quick Sort)是一种效率很高的排序算法,是对冒泡排序的一种改进排序算法。 快速排序首先任意选取一个数据(通常选待排序列表中的第一个数)作为基准数据,将待排序列…
从0开始手写ArrayList动态数组和LinkedList双向链表
源代码码云Gitee下载链接 ArrayList动态数组 1.什么是数组? 在了解什么是数组之前,我们先了解什么是线性表,线性表是具有 n 个相同类型元素的有限序列,数组就是一种线性的数据结构,是一种顺序存储的线性表,所…
数据结构-数组、链表、跳表
第三课:数组、链表、跳表 一、数组Array List 数组的底层实现原理 内存管理器: 每次申请数组,计算机实际上是在内存中开辟一段连续的地址,每一个地址直接可以通过内存管理器进行访问 数组的优缺点 优点: 可以随机的…
数据结构之数组、链表、栈和队列
1.数组 1.1:概念 数组是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据。这里我们要抽取出三个跟数组相关的关键词:线性表,连续内存空间,相同数据类型;数组具有连续的内存空间,存储相同类型的数…
顺序表详解
目录 一、线性表的概念 二、顺序表 1、顺序表的概念 1). 静态顺序表:使用定长数组存储元素。 2). 动态顺序表:使用动态开辟的数组存储。 三、接口实现 1、创建 2、…