![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
cpp_wayne
生活中那些闪闪发光的东西,美好精致的人生,不会是一蹴而就的,都要靠自己一步步走出来!
展开
-
数据结构与算法初阶思维导图
数据结构初阶相关知识点总结:原创 2019-04-25 17:19:57 · 437 阅读 · 0 评论 -
数据结构八大算法详细总结及实现
八大排序,三大查找是《数据结构》当中非常基础的知识点,在这里为了复习顺带总结了一下常见的八种排序算法。 常见的八大排序算法,他们之间关系如下: 排序算法.png 他们的性能比较: 性能比较.png 下面,利用Python分别将他们进行实现。 直接插入排序 算法思想: 直接插入排序.gif 直接插入排序的核心思想就是:将数组中的所...转载 2019-04-23 16:04:33 · 313 阅读 · 0 评论 -
数据结构之八大排序总结
1、排序的概念:排序就是将一组数据按照一定的顺序,递增或递减排列起来。 2、排序的稳定性:对于两个关键字相等的记录,它们在序列中的相对位置,在排序之前和经过排序之后,没有改变。 3、内部排序与外部排序:内部排序指的是排序时需要将全部数据加载到内存中;外部排序是指所要排序的数据太大了不能同时在内存中进行。 4、八大排序:插入排序、希尔排序、选择排序、快速排序、冒泡排序、堆排序、归并排序、计数排...原创 2019-04-23 15:59:31 · 8583 阅读 · 2 评论 -
数据结构之栈和队列基本操作总结
1、栈 1.1、栈的概念及特性:栈是一种先进后出的特殊线性表,它只允许从固定的一端进行插入删除等操作,其中插入删除端称为栈顶,另一端称为栈底。 1.2数据结构中栈与程序中栈的区别: 数据结构中的栈:对管理数据的一种手段和方法。可以用来存放数据和地址,只能在一端(栈顶)对数据项进行插入和删除。 程序(内存)中的栈:是确切存在的物理结构,是用来存放不同数...原创 2019-04-19 15:51:40 · 572 阅读 · 0 评论 -
数据结构之二叉树
1. 树的概念以及相关概念 : 树(Tree)是n(n>=0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件: (1)有且仅有一个特定的称为根(Root)的结点; (2)其余的结点可分为m(m>=0)个互不相交的子集T1,T2,T3…Tm,其中每个子集又是一棵树,并称其为子树(Subtree)。 2. 树的存储方式以及其区别 : 树的存储方式有两种: 第一种是数组形式:用...原创 2019-04-12 20:40:48 · 193 阅读 · 0 评论 -
数据结构之链表常考面试题
1、链表与顺序表的对比: 链表:内存上不连续,不支持下标访问,使用时不用考虑内存问题 顺序表:内存上连续,支持下标访问,扩容麻烦 2、链表面试题 删除链表中等于给定值 val 的所有节点。 struct ListNode* removeElements(struct ListNode* head, int val) { // 如果链表为空,返回空 if (head == NULL){ ...原创 2019-04-11 16:21:47 · 213 阅读 · 0 评论 -
数据结构之链表的基本操作
什么是链表? 链表的分类?8种不同的链表 完成单链表的以下操作? 熟悉顺序表的概念 熟悉顺序表的分类?静态顺序表和动态顺序表的区别? 实现动态顺序表的以下基本操作: //不带头节点的单链表 typedef int SDataType; // 节点结构 typedef struct SListNode { SDataType _data; struct SListNode* _pNext; }N...原创 2019-04-11 14:37:13 · 129 阅读 · 0 评论 -
数据结构之顺序表的基本操作
1、顺序表的概念:顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。 2、顺序表的分类:顺序表分为动态顺序表和静态顺序表,动态顺序表额容量是可变,静态顺序表的容量不可变。 3、动态顺序表的基本操作 typedef int DataType; typedef struct SeqList { DataType* _array; //...原创 2019-04-10 16:35:14 · 191 阅读 · 0 评论