
数据结构
数据结构
Jackeys007
开朗、活泼,一个逗比的程序员
展开
-
day04数据结构与算法之美(为什么很多编程语言中数组都是从0开始编号)
一、解答计算机随机访问数组元素的寻址公式:a[i]_address=base_address+i*data_type_size其中 a[i]_address代表数组下标为i的元素的地址,base_address代表数组的首地址,i代表数组下标,data_type_address代表数组元素的类型大小。我们可以做出如下假设:①数组元素从1开始:那么我们寻址公式与之对应就是a[i]_address=base_address+(i-1)data_type_size②数组元素从0开始:那么我们寻址公式与原创 2020-11-22 11:34:56 · 164 阅读 · 0 评论 -
数据结构(第九章~>第十章)
排序一.冒泡排序:简单的来说,冒泡排序就是大的往下沉,小的往上浮,沉浮的过程其实就是比较大小进行交换的过程。void bubble_up_Sort(int arr[],int n){ for(int i=0;i<n-1;i++){ for(int j=0;j<n-1-i;j++){ if(arr[j]>arr[j+1]){ ...原创 2020-02-29 16:04:39 · 198 阅读 · 0 评论 -
数据结构(第八章)
图(下)一.最小生成树什么是最小生成树?首先,它是一棵树,没有回路,加入有n个结点,那么它一定有n-1条边。其次,是生成树,也就是意味着它要包含全部顶点,n-1条边都在图里。最后,要求边的权重和最小。满足了这三点,它就是一颗最小生成树。为了找出这样的一棵树,我们有两种算法Prim算法核心思想:我们需要一个邻接矩阵,存取各个顶点之间的权重,其次我们需要两个数组,一个用来存储相关顶点的下标...原创 2020-02-28 21:16:14 · 301 阅读 · 0 评论 -
数据结构(第七章)
图(中)一.树之习题选讲(Tree Traversals Again)非递归的中序遍历在这道题目中,我们可以学到树的前序遍历,中序遍历,以及后序遍历。此图的中序遍历递归的思路是,找出根结点,然后递归的求左子树,递归的求右子树。我们主要讲用非递归的方法:我们先把根结点1入栈,然后将其子结点2入栈,再将2子节点3入栈,3没有子结点了,然后出栈,回到了2,然后出栈,将4入栈,然后出栈,出栈...原创 2020-02-24 22:35:46 · 350 阅读 · 0 评论 -
数据结构(第六章)
图上图(上)第一讲一.什么是图图其实是一种很抽象的东西,它可以表示很多东西,举个例子,就你的朋友圈而言,你所交的朋友就可以构成一个图,生活中有很多很多的例子,因此图是比较复杂的,它表示的是“多对多"的关系。回到数据结构,图一般包含两个要素:一组顶点:通常用V表示顶点集合;一组边:通常用E表示边的集合;边是顶点对:(v,w)属于E,其中圆括号表示无向边,类似于一个这样的东西,——,双...原创 2020-02-20 21:54:17 · 930 阅读 · 0 评论 -
数据结构(第五章)
树下第一讲一.堆什么是堆?在讲堆之前,我们先看看什么是优先队列。优先队列:是一种特殊的队列,从名称上看,优先,顾名思义,取出的元素是按照一定的优先级出队的,而不是元素进入队列的先后顺序。优先队列的完全二叉树表示堆的两个特性:结构性:用数组表示的完全二叉树。有序性:任一结点的关键字是其子树所有结点的最大值(或最小值)。由最大值和最小值我们可以引出一个新概念“最大堆”“最小堆”最...原创 2020-02-20 20:48:24 · 574 阅读 · 0 评论 -
数据结构(第四章)
树中一.二叉搜索树(BST,Binary Search Tree)二叉搜索树也称二叉排序树(因为它有一定的顺序在里面)或二叉查找树(因为里面的某些规律方便查找),可以为空。不为空时的性质:非空左子树的所有键值小于其根结点的键值;非空右子树的所有键值大于其根结点的键值;左,右子树都是二叉搜索树。既然叫二叉查找树,那我们就来看看它的查找吧!二叉搜索树的查找查找过程:我们先从根结点开始...原创 2020-02-20 19:43:47 · 256 阅读 · 0 评论 -
数据结构(第三章)
树(上)什么是树?客观世界中许多事物存在层次关系。1.人类社会家谱。2.社会组织结构。3.图书信息管理。查找:根据某个给定的关键字K,从集合R中找出关键字与K相同的记录。1.静态查找:集合中记录是固定的。(没有插入和删除操作,只有查找)2.动态查找:集合中记录是动态变化的。(除查找,还可能发生插入和删除)静态查找方法1:顺序查找//顺序查找typedef struct LN...原创 2020-02-18 22:13:59 · 313 阅读 · 0 评论 -
数据结构(第二章)
多项式表示问题的启示:1.同一个问题可以有不同的表示。2.有一类共性问题:有序线性序列的组织和管理。线性表(Linear List): 由同类型数据元素构成有限序列的线形结构。若将线性表记为(A1,A2…Ai-1,Ai,Ai+1,An),则表中Ai-1领先于Ai,Ai领先于Ai+1,称Ai-1是Ai的直接前驱元素,Ai+1是Ai的直接后继元素。当i=1,2…,n-1时,Ai有且仅有一个直接...原创 2020-02-18 14:20:29 · 430 阅读 · 0 评论 -
数据结构(第一章)
数据结构:数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。“数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”——Sartaj Sahni 《数据结构,算法与应用》“数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。”——Clifford A....原创 2020-02-11 16:09:24 · 331 阅读 · 0 评论