![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
常见数据结构和算法总结
雨思飞
努力不一定成功,但放弃一定失败!
展开
-
十大常用算法
前言最近在研究一些经常用到的东西想把它们做一个汇总,想了想用到最多的应该是排序算法,所以对排序算法做了个总结,并自己用C++实现了一下。一、算法概述0.1 算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。0.2 算法复杂.转载 2020-12-23 16:49:06 · 2717 阅读 · 0 评论 -
链表
1. 静态链表和动态链表区别详解1.1 静态链表使用静态链表存储数据,需要预先申请足够大的一整块内存空间,也就是说,静态链表存储数据元素的个数从其创建的那一刻就已经确定,后期无法更改。使用静态链表存储数据,你需要通过操控两条链表,一条是存储数据,另一条是记录空闲空间的位置。1.2 动态链表使用动态链表存储数据,不需要预先申请内存空间,而是在需要的时候才向内存申请。也就是说,动态链表存储数据元素的个数是不限的,想存多少就存多少。同时,使用动态链表的整个过程,你也只需操控一条存储数据的链原创 2020-12-22 15:08:05 · 184 阅读 · 0 评论 -
数据结构
1.数据存储结构常用的存储结构有顺序存储、链式存储、索引存储和哈希存储等。1.1 顺序表存储 原理:顺序表存储是将数据元素放到一块连续的内存存储空间,存取效率高,速度快。但是不可以动态增加长度。 优点:存取速度高效,通过下标来直接存储。 缺点:1.插入和删除比较慢,2.不可以增长长度。 比如:插入或者删除一个元素时,整个表需要遍历移动元素来重新排一次顺序。1.2 链表存储 原理:链表存储是在程序运行过程中动态的分...转载 2020-12-22 14:56:01 · 122 阅读 · 0 评论