数据结构与算法基础
数据结构与算法
柳叶lhy
慢慢进步!
展开
-
快速排序为什么一定要先移动哨兵对面的指针?
在代码中,我们可以看到:第一个while,j 开始移动,当 j 指向了一个比哨兵小的数时就会停下,与哨兵交换位置;接着执行第二个while,i 开始移动,当 i 指向一个比哨兵大的数时停下,与哨兵交换位置。总之,指向哨兵的指针不移动!!!在这个问题中,我们最应该清楚的点是:我们的目的是要用哨兵将该序列一分为二,指针 i 只有遇到比哨兵小的数才会停下,指针 j 只有遇到比哨兵大的数才会停下。如果先让 i 向左移动,就会导致比哨兵大的数也在左边,就不能达到我们想要的效果。...原创 2021-03-25 13:47:44 · 457 阅读 · 0 评论 -
数据结构与算法基础------单链表的销毁,清空,求表长,判断是否为空
一、单链表(带有头节点)的初始化算法步骤:生成一个新结点作为头结点,用头指针L指向头结点。让头结点的指针域置空。算法描述:define NULL 0struct Lnode{ ElemType data; Lnode* next;}*LinkList;int initList_L(LinkList& L){ L=new Lnode; L->next=N...原创 2020-03-13 21:10:37 · 4719 阅读 · 3 评论 -
数据结构与算法基础-----链表的结点
单链表: 结点只有一个指针域的链表双链表: 结点有两个指针域的链表循环链表: 首尾相接的链表头指针、头节点、首元结点:头指针:指向链表中第一个结点的指针头结点:是在链表首元结点之前附设的一个结点,并不是链表的第一个结点首元结点:是指链表中存储第一个数据元素的结点一、如何表示空表?无头结点时,头指针为空表示空表。有头结点时,头结点的指针域为空表示空表二、在链表...原创 2020-03-10 21:31:18 · 5503 阅读 · 0 评论 -
数据结构与算法基础-----线性表中算法的实现
一、查找算法在线性表L中查找与指定值e相同的数据元素的位置从表的一端开始,逐个进行关键字与指定值比较。int LocalElem(Sqlist l,ElemType e)//定义查找函数{ for(int i=0;i<l.length;i++) if(l.Elem[i]==e) return i+1;//查找成功,返回序号 return 0;//查找失败,返回0}...原创 2020-03-08 20:18:43 · 405 阅读 · 0 评论 -
数据结构与算法基础-------传值方式和传地址方式
一、传值方式将实参的值传送给函数的形参,并且实行相应的功能。函数修改的是形参的值,实参值不变。#include<iostream>using namespace std;int main(){ void swap(int m,int n); int a,b; cout<<"please input a and b: "; cin>>a>&...原创 2020-03-05 22:26:26 · 841 阅读 · 0 评论 -
数据结构与算法基础------线性表的顺序存储结构的表示与实现
顺序存储的定义:将逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。例:线性表中的第一个元素a1的存储位置,称为线性表的起始地址或基地址。如图所示,依次存储,地址连续-----中间没有空出的存储单元。所以,下面的存储结构就不是一个线性表的顺序存储结构。线性表的顺序存储结构占用一片连续的存储空间。优点: 知道某个元素的存储位置就可以计算其他元素的存储位置。例:如果每个...原创 2020-03-04 09:49:11 · 423 阅读 · 0 评论 -
数据结构与算法基础-----线性表(1)
一、线性表的定义与特性线性表是具有相同特性的数据元素的一个有限序列。线性表的逻辑特征:在非空线性表中,有且仅有一个开始结点a1 ,它没有直接前趋,而仅有一个直接后继a2。有且仅有一个终端后继an,它没有直接后继,而仅有一个直接前趋。其余内部结点ai(2<=i<=n-1)都有且仅有一个直接前趋ai-1和直接后继ai+1。...原创 2020-03-01 16:40:20 · 1215 阅读 · 0 评论 -
数据结构与算法基础------计算时间复杂度与空间复杂度
算法效率从以下两个方面考虑:时间效率:指的是算法所耗费的时间空间效率:指的是算法执行过程中所耗费的存储空间时间 效率和空间效率有时候是矛盾的。在这里我们只讨论事前分析法,因为事后分析法也和计算机的软硬件等其他客观条件有关。事前分析法一个算法的运行时间大致等于计算机执行一种简单操作(如赋值,比较,移动等)所需的时间与算法中进行的简单操作的次数的乘积。以矩阵为例:for(i=1;i...原创 2020-02-28 21:49:35 · 453 阅读 · 0 评论 -
数据结构与算法基础-------基本概念和术语
1、数据能输入计算机且能被计算机处理的各种符号的集合信息的载体对客观事物符号化的表示能被计算机储存、识别和加工包括:数值型数据 :实数等;非数值型数据:文字、图像等;2、数据元素和数据项数据元素:是数据的基本单位,在计算机中通常当作一个整体处理或使用。也简称为元素、顶点、结点。可由多个数据项组成。数据项:构成数据元素的不可分割的最小单位。...原创 2020-02-27 17:35:53 · 249 阅读 · 0 评论