
dataStructure
文章平均质量分 86
蜗牛爱上牛
这个作者很懒,什么都没留下…
展开
-
数据结构 DAY03 线性表及其基本操作
线性表的基本概念 从今天开始我们正式进入数据结构的学习,开始之前我们先思考几个问题。 生活中遇到哪些线性表的例子? 如何通过程序实现线性表? 线性表结构有哪些基本操作? 线性表结构在软件方面有哪些应用? 看着上面的表情包是不是有种熟悉的味道,没错,这就是我们生活中最常见的线性表结构——糖葫芦。根据它的结构特性我们给出相应的定义,一个线性表,由有限个具有相同性质的元素构成,结构上要求,非表头和表尾元素有且只有一个前驱和后继。对于表头和表尾元素,如果是没有环的线性表,则表头元素没有前驱,表尾元素没有后原创 2021-02-02 18:33:06 · 350 阅读 · 0 评论 -
数据结构DAY02—算法的时间复杂度和空间复杂度分析
上一节我们聊了一下数据结构的基本概念,今天我们聊聊算法的相关的知识。同样,开始之前我们先思考以下几个问题: 什么是算法? 算法有哪些基本特征? 如何衡量一个好的算法? 算法的基本特性 有一句话几乎成了计算机行业的公知,那就是“程序 = 数据结构 + 算法”,先不辩驳这句话的正确与否,至少体现了数据结构与算法在这个行业的重要性。 我们通过一个例子来阐明算法的基本特性,不知道大家小时候有没有搬过砖,农村自家造房子,为了省钱通常自家人把小货车运来的砖搬到师傅砌墙的地方(好像暴露年龄了)。假如,早上.原创 2021-01-30 10:26:29 · 388 阅读 · 0 评论 -
数据结构DAY01 数据结构基本概念
之所以写这个专栏,一来希望自己通过不断地写作,在夯实自己学习的知识的同时,也希望自己写的东西能够让其他人有所收获;二来希望自己的知识体系形成网络化的整体结构,而不是零散的碎片结构。 今天我们聊聊数据结构的基础知识,开始之前我们先思考以下几个问题: 什么是数据结构? 数据结构到底学些什么东西? 说起数据结构,我想很多人会想到数组和链表。其实对于数据结构这个概念并没有官方的明确定义,翻阅各种教材可以找到各种各样的说法,按照严蔚敏的教材中给的定义,数据结构(data structure)是相互之间存在一种原创 2021-01-29 22:50:48 · 200 阅读 · 0 评论 -
ARTS 打卡第五周
ARTS 打卡week05 每周完成一个 ARTS: Algorithm: 每周至少做一个 LeetCode 的算法题 Review: 阅读并点评至少一篇英文技术文章 Tips: 学习至少一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algorithm 4. 寻找两个正序数组的中位数 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。 请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 num原创 2020-06-21 18:16:23 · 288 阅读 · 0 评论 -
链表常见面试集合
测试程序 main.c #include <stdio.h> #include <stdlib.h> #include <unistd.h> #define true 1 #define false 0 typedef int ElementType; typedef int bool; typedef struct LNode *List; typedef struct LNode *PLNode; struct LNode { ElementType Dat.原创 2020-06-10 21:23:24 · 149 阅读 · 0 评论 -
数据结构_线性结构
数据结构与算法学习笔记 第二章 线性结构 使用数组表示多项式(下标表示多项式的指数,下标的值表示多项式的系数,有点操作方便,缺点浪费空间) 使用结构体数组表示多项式(数组元素按照指数递减的规则存储,数组元素为结构体)! struct PolynomialElement { int coef; int expon; } 使用链表表示多项式 typedef struct PolynomialElement *Polynomial; struct PolynomialElem原创 2020-06-03 22:00:58 · 245 阅读 · 0 评论 -
数据结构_树(3)
堆的操作,摘自C语言实现最大堆最小堆的建立以及堆排序#include<stdio.h> #include<stdlib.h> #define N 10005 typedef int ElementType; typedef struct HNode *Heap; /* 堆的类型定义 */ struct HNode { ElementType *Data; /* 存储元素的数组 */ int Size; /* 堆中当前元素个数 */ int Capacity.原创 2020-06-03 16:01:25 · 269 阅读 · 1 评论 -
数据结构_树(2)
二叉搜索树 定义 - 左子树的所有节点值小于根节点的键值 - 右子树的所有节点值大于根节点的键值 - 左右子树都是二叉搜索树 查找 // 查找指定元素 BinTree Find( int x, BinTree BST ) { while ( BST ) { if ( x > BST->Data ) { BST = BST->Right; } else if ( x < BST->D原创 2020-06-02 23:55:59 · 116 阅读 · 0 评论 -
数据结构_树(1)
第三章 树 查找 静态查找——没有插入和删除,只有查找 // 顺序查找 时间复杂度O(n) int SequentialSearch ( StaticTable *Tbl, ElementTye K ) { /*在表Tbl[1]~Tbl[n]中查找关键字为K的数据元素*/ int i; Tbl->Element[0] = K; /*建立哨兵*/ for( i = Tbl->Length; Tbl->Element[i]!= K; i--原创 2020-06-01 23:59:32 · 683 阅读 · 0 评论