E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《大话数据结构》
大话数据结构
—— 顺序表 C#、C++代码实现
线性结构定义:线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结点都有且仅有一个前驱和一个后继结点。线性表是最常用且简单的一种数据结构。一个线性表是n个数据元素的有限序列。线性表中的数据元素可以是各种各样的,但同一线性表中的元素必定具有相同特性。在复杂的线性表中,一个数据元素
To-String
·
2020-06-25 08:35
数据结构
《
大话数据结构
》中缀表达式转换为后缀表达式
中缀表达式转换为后缀表达式一、表达式的三种形式:●中缀表达式:运算符放在两个运算对象中间,如:(2+1)*3。我们从小做数学题时,一直使用的就是中缀表达式。●后缀表达式:不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则),如:21+3*。又比如3+(6-4/2)*5=23的后缀表达式为:3642/-5*+#(#符号为结束符)。后缀表
To-String
·
2020-06-25 08:35
数据结构
最短路径 迪杰斯特拉算法的简易实现
大话数据结构
P261改编
对应图#include#definebig65530#definemax100intpath[max]={0};intshortpath[max]={0};typedefstructNode{chardingdian[max];intbian[max][max]={{0,4,7,big,big},{4,0,2,big,big},{7,2,0,3,9},{big,big,3,0,1},{big,bi
qq_33816944
·
2020-06-25 07:41
最短路径
《
大话数据结构
》二叉树一节的代码
#include#includeusingnamespacestd;typedefenum{Link,Thread}PointTre;typedefcharTreDataType;typedefstructTreNode{TreDataTypedata;structTreNode*LefChild,*RigChild;intlTag,rTag;}TreNode,*TrePtr;TrePtrpre=
i画船听雨
·
2020-06-25 07:39
之浅谈冒泡排序算法
——AlanPerlis
大话数据结构
修改版.png序言当我们第一次数组排序的时候,通常都会介绍一种排序算法,那就是冒泡排序.冒泡排序的思路是最简单的,最容易让人理解的.可能看这篇文章的各位大神都在程序的世界遨游已久
神经骚栋
·
2020-06-25 07:59
《
大话数据结构
》第9章 排序
《
大话数据结构
》第9章排序目录1排序的基本概念和分类1.1排序定义1.2排序的稳定性1.3内排序与外排序1.4排序用到的结构与函数2直接插入排序(StraightInsertionSort)2.1算法思想
南方有乔木
·
2020-06-25 03:10
【封存】
《
大话数据结构
》第8章 查找--PART1
《
大话数据结构
》第8章查找--PART1查找表(SearchTable)是由同一类型的数据元素(或记录)构成的集合。关键字(Key)是数据元素中某个数据项的值,又称键值,用它可以标识一个数据元素。
南方有乔木
·
2020-06-25 03:10
【封存】
《
大话数据结构
》第8章 查找--PART2
《
大话数据结构
》第8章查找--PART2目录5.平衡二叉树5.1基础知识5.2平衡二叉树构建的基本思想5.3平衡二叉树实现算法(hard==)5.平衡二叉树5.1基础知识平衡二叉树(Self-BalancingBinarySearchTree
南方有乔木
·
2020-06-25 03:38
【封存】
数据结构-线性表
定义《
大话数据结构
》上给的定义是:线性表:零个或者多个数据元素组成的有限序列形象地来说就是所有的数据都按照一条线给串起来了。分类点击这里查看大图在线性表中,我会着重介绍顺序存储结构和单链表。
尹凯文
·
2020-06-25 02:25
数据结构
大话数据结构
第六章读书笔记:树(1)
1.基本概念结点的度:结点拥有的子树的个数2.树的存储结构树的存储结构在C++中有:双亲表示法、孩子表示法、孩子双亲表示法、孩子兄弟表示法但自己当转化为java程序时,却发现这些表示法在java中没有区别,不知道是不是自己理解错了以下给出结点的程序:packagetree;publicclassPTNode>{Tkey;//关键字(键值)PTNodeparent;//双亲域,根节点没有双亲,根节点
嗯行
·
2020-06-25 01:12
数据结构
树
数据结构
【
大话数据结构
】二叉树的遍历(前序 中序 后续 层次 深度优先 广度优先 DFS BFS)
书籍推荐《
大话数据结构
》——https://www.geekschool.club/book/detail/20006二叉树的遍历二叉树的遍历方式有两类:深度优先遍历和广度优先遍历。
路R甲
·
2020-06-25 01:43
数据结构
大话数据结构
------线性表的链式存储结构(单链表)
上篇说的线性表的线性存储结构,有一个明显的确定,那就是每次插入和删除元素都需要移动大量的元素,能否想个办法解决它。我们可以使用本文提到的链表解决线性表的链式存储结构每一个结点都拥有一个数据域和一个指针域(指向下一个节点),因此其不需要将所有结点存在一块连续的地址空间中先贴上kotlin代码/***使用单链表实现,区别于java类库中的LinkedList(双向链表)*/classLinkedLis
HFWL
·
2020-06-25 01:16
android
书籍
大话数据结构
------线性表的顺序存储结构
线性表的顺序存储结构就是一组数据按照逻辑顺序依次排列在一组地址连续的储存空间先贴上kotlin代码packagecom.hefuwei.datastructimportjava.lang.RuntimeExceptionimportjava.lang.StringBuilder@Suppress("UNCHECKED_CAST")classArrayList{privatevarmData=Arr
HFWL
·
2020-06-25 01:16
android
书籍
解析字符串中的四则运算(c++)
记得曾经在《
大话数据结构
》那一本书上见到过使用后缀表达式来求解这类问题。所幸就动手实现一遍。这里可能有两个概念需要解
CLthinking
·
2020-06-25 01:38
LeetCode
大话数据结构
(二)——算法
什么是算法呢?算法是描述解决问题的方法。算法(Algorithm)这个单词最早出现在波斯数学家阿勒·花刺子密在公元825年(相当于我们中国的唐朝时期)所写的《印度数字算术》中。如今普遍认可的对算法的定义是:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。算法具有五个基本特性:输入、输出、有穷性、确定性和可行性。好的算法,应该具有正确性、可读性、健壮
遗世独立de理想乡
·
2020-06-24 23:12
data
structure
大话数据结构
导论
数据结构的逻辑结构数据元素之间的相互关系1.1集合结构集合结构之间的元素除了属于同一个集合之外,他们之间没有任何其他关系,各个元素的关系是平等的;1.2线性结构元素之间存在一对一的关系,比如数组,链表;1.3树形结构元素之间存在一对多的关系;数据结构的物理结构在我看来,数据结构的物理结构就是指数据元素在内存中的存储关系,这是理解许多数据结构为什么这样设计的一个核心;2.1顺序存储结构把数据元素存放
遗世独立de理想乡
·
2020-06-24 23:12
数据结构
数据结构与算法(八)—— 树结构及其实现和应用
注:本篇内容参考了《Java常用算法手册》、《
大话数据结构
》和《算法导论(第三版)》三本书籍。本人水平有限,文中如有错误或其它不妥之处,欢迎大家指正!
Ethan-cw
·
2020-06-24 22:19
数据结构与算法
数据结构系列之
大话数据结构
第3章线性表3.2线性表的定义ABC…B直接前驱元素:AB直接后驱元素:C3.6线性表的链式存储结构3.6.2线性表链式存储结构定义(P57)结点(node)数据域:存储数据元素信息的域指针域:存储直接后继位置域开始结点:是指链表中的第一个结点,它没有直接前驱头指针:链表中第一个结点的存储位置叫做头指针一个单链表可以由其头指针唯一确定,一般用其头指针来命名单链表头结点:是在链表的开始结点之前附加的
HAH-M
·
2020-06-24 21:17
数据结构
《
大话数据结构
》学习笔记——第一章 绪论
《
大话数据结构
》学习笔记第一章绪论数据结构基本概念和术语逻辑结构和物理结构逻辑结构物理结构抽象数据类型第一章绪论数据结构一、数据结构数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的一门学科
飘_蓬
·
2020-06-24 20:57
数据结构
《
大话数据结构
》学习笔记一
第1章数据结构绪论数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小单位。数据对象:是性质相同的数据元素的集合,是数据的子集。数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。逻辑
Chance-Li
·
2020-06-24 19:31
《大话数据结构》
大话数据结构
(一)链表的基本操作
本人收藏的链表的基本操作,已经经过上机测试,效果不错!#include#includeusingnamespacestd;typedefintDataType;//链表元素类型typedefstructnode//链表结点{DataTypedata;node*next;}LNode,*PLNode;//创建带有头结点的链表//输入ctrl+z结束//有无头结点将会影响到对链表的所有操作,包括显示链
潘小浩
·
2020-06-24 19:25
大话数据结构
顺序存储结构(java实现) 数据结构
这个是根据程杰大佬的《
大话数据结构
》用java来实现的.线性表的顺序存储结构,就是用一段地址连续的存储单元依次存储线性表的数据元素像这样的方式就是顺序存储方式.在java里面,我们使用一维数组来实现顺序存储结构
过气可乐
·
2020-06-24 18:22
数据结构
数据结构与算法 第二章 算法
第二章算法这一章主要还是概念,以下内容来自《
大话数据结构
》,欢迎大家交流讨论。
narina
·
2020-06-24 16:44
数据结构与算法
程序员书单
算法0算法笔记0设计模式0大话设计模式2headfirst设计模式1编程珠玑10编程珠玑20程序员面试金典0程序员代码面试指南0剑指offer0
大话数据结构
0数据结构与算法分析_C语言0编程之美0c专家编程
mw_nice
·
2020-06-24 16:16
逆向工程参考书籍
程序设计教程(第二版)必买编码的法则C++程序员不可不知的101条使用经验刘光著C++程序设计语言(特别版·十周年中文纪念版)C++Primer第五版高质量程序设计指南:C++/C语言(第三版)三、数据结构
大话数据结构
数
Mr夜影
·
2020-06-24 15:22
单链表存储结构创建、插入、删除操作 《
大话数据结构
》 c++代码实现
#include#include#includeusingnamespacestd;//线性表链式存储的结构代码#defineok1#defineerror0typedefintElemtype;typedefintstatus;//定义typedefstructNode{Elemtypedata;structNode*next;}Node;typedefstructNode*linklist;/
是一个小可爱
·
2020-06-24 12:12
平衡二叉树(AVL树)创建、查找、插入操作 《
大话数据结构
》 c++实现代码
//平衡二叉树,或者称为AVL树#includeusingnamespacestd;typedefintstatus;#definetrue1#definefalse0#defineLH+1//左高#defineEH0//等高#defineRH-1//右高//二叉链表结点结构定义typedefstructBitnode{intdata;intbf;//储存结点的平衡因子structBitnode*
是一个小可爱
·
2020-06-24 12:12
数据结构学习笔记(1)—— 绪论
本文主要参考书籍为《
大话数据结构
》第一章,绪论。
大羚羊
·
2020-06-24 11:25
数据结构
大话数据结构
——栈
栈(Stack):限定仅在表尾进行插入和删除操作的线性表,LIFO结构。栈的抽象数据类型:ADT栈(stack)DataOperationInitStack(*S):初始化操作.建立一个空栈S。DestroyStack(*S):若栈存在,則销毁它。ClearStack(*S):将栈清空。StackEmpty(S):若栈为空,返回true,否則返回false。GetTop(S,*e):若栈存在且非空
J-A
·
2020-06-24 10:39
数据结构与算法
大话数据结构
——串
串(String):由零个或多个字符组成的有限序列。串的抽象数据类型:ADT串(string)Data串中元素仅有一个字符组成,相邻元素具有前驱和后继关系。OperationStrAssign(T,*chars):生成一个其值等于字符串常量chars的串T。StrCopy(T,S):串S存在,由串S复制得串T。ClearString(S):串S存在,将串复制得串T。StringEmpty(S):若
J-A
·
2020-06-24 10:39
数据结构与算法
大话数据结构
之 算法
算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。1.算法的特性1)输入输出:算法具有零个或多个输入,至少有一个或多个输出。2)有穷性:算法在执行有限步骤后,自动结束而不会出现死循环,并且每个步骤在可接受的时间范围内完成。3)确定性:算法的每一步骤都具有确定的含义,不会出现二义性。4)可行性:算法的每一步都必须是可行的。2.算法设计的要求1)正确性:
J-A
·
2020-06-24 10:08
C++
教练
我想学数据结构
大话数据结构
之三:线性表
1.定义:线性表表示0个或者多个数据元素的有限序列线性表的特性有:除第一个元素外,每一个元素均有一个直接前驱出最后一个元素外,每一个元素均有一个直接后继2.线性表抽象数据类型ADTListData/*线性表的数据对象集合为{a1,a2,...,an},每个元素的类型均为DataType.其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个元素an外,每一个元素有且只有一个直接
longshengguoji
·
2020-06-24 08:48
数据结构与算法
【
大话数据结构
&算法】冒泡排序
起泡排序又称为冒泡排序。它是通过一系列的“交换”动作完成的。首先将第一和第二个记录进行比较,如果第一个记录大于第二个记录,则两者交换位置,否则保持原位置不变;然后比较第二和第三个记录……一直按这种方式比较下去,最终最大的记录被交换到最后,一趟冒泡排序完成。这个过程,大的记录就像一块石头一样“沉底”,小的记录逐渐向上“浮动”,冒泡排序的名字也是由此而来的。冒泡排序的步骤归纳如下(以升序排序为例):1
May的博客
·
2020-06-24 08:49
数据结构/算法
【
大话数据结构
&算法】快速排序算法
快速排序是交换类的排序,比如在站队的时候,老师说:“第一个同学出列,其他同学以第一个同学为中心,比他矮的全排在左边,比他高的全排在右边。”这就是一趟快速排序。可以看出,一趟快速排序是以一个“枢轴”为中心,将序列分成两个部分,枢轴的一边全是比它小(或者小于等于)的,另一边则全是比它大(或者大于等于)的。快速排序算法采用了一种分治的策略,通常称其为分治法,其基本思想是:1、先从数列中取出一个数作为基准
May的博客
·
2020-06-24 08:49
数据结构/算法
大话数据结构
(平衡二叉树)
//balanceTree.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include"BiTNode.h"#defineLH+1#defineEH0#defineRH-1#includeusingnamespacestd;voidLeftBalance(BiTree*T)//结点的bf大于0(左子树高度大于右子树){BiTreeL,Lr;L=(*T)->lchi
testgirl1
·
2020-06-24 06:48
数据结构
《
大话数据结构
》学习笔记 —— 03 线性表之单链表(golang实现)
单链表定义如果链表中的每个结点只包含一个指针,则该链表称为单链表。单链表结构如图所示:代码实现packageSingleLinklingimport("fmt")//定义单链表接口typeSingleLinkinterface{//返回第一个数据结点GetFirstNode()*SingleLinkNode//插入结点(头插法)InsertNodeFront(node*SingleLinkNode
TimChen666
·
2020-06-24 04:59
数据结构
《
大话数据结构
》学习笔记 —— 04 栈(golang实现)
栈定义栈是一个后进先出的(Lastinfirstout,LIFO)的线性表,它限定仅在表尾进行删除和插入操作。关键词栈顶、栈底允许插入和删除的一端称为栈顶,另一端称为栈底。空栈不包含任何数据元素的栈称为空栈。栈的插入操作栈的插入操作,叫作进栈,也称压栈、入栈。栈的删除操作栈的删除操作,叫作出栈,也称弹栈。栈的顺序存储结构进栈操作示意图:代码实现packageStackArray//栈的接口type
TimChen666
·
2020-06-24 04:59
数据结构
《
大话数据结构
》学习笔记 —— 01 数据结构
一、基本概念1.数据结构+算法=程序程序设计的实质是对确定问题选择一种好的结构,加上设计一种好的算法。2.数据定义可描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。特性可以输入到计算机中。能够被计算机程序处理。对于整数、浮点数等数值型类型,可以直接进行数值计算。对于字符数据,需要进行非数值的处理。譬如声音、图像、视频数据可以先通过编码手段变成字符数据,
TimChen666
·
2020-06-24 04:28
数据结构
《
大话数据结构
》学习笔记 —— 03 线性表之循环链表(golang实现)
循环链表前言普通的单链表有一个明显的缺点,如果不从头结点出发,就无法访问到全部结点。定义将单链表中终端结点的指针由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表。与单链表的区别其实循环链表和单链表的主要区别在于循环的判断条件上,原来是判断p->next是否为空,现在是判断p->next是否等于头结点。代码实现packageCricleLinklin
TimChen666
·
2020-06-24 04:27
数据结构
数据结构---二叉树遍历(递归与非递归)
二叉树的定义二叉树(BinaryTree)是n(n>=0)个节点的有限集合,该集合或者为空(称为空二叉树),或者由一个根节点和两颗互不相交的、分别称为根节点的左子树和右子树的二叉树组成——《
大话数据结构
lieyingkub99
·
2020-06-24 04:14
机器学习算法
大话数据结构
读书笔记(6)----散列表(哈希表)
1、定义散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。查找时,根据这个确定的对应关系找到给定值key的映射f(key),若查找集合中存在这个记录,则必定在f(key)的位置上。这里把对应关系f称为散列函数,又称为哈希(Hash)函数。采用散列技术将记录存储在一块连续的内存空间中,这块连续存储空间称为散列表或哈希表(hashta
小土豆啊
·
2020-06-24 03:41
计算机体系结构
c-c++
大话
大话数据结构
——DFS?BFS?
在计院的保研选手推荐我算法笔记之后,我觉得我又找到了一本适合上机联系、学习知识的好书,所以一下内容是我学习《算法笔记》的读书笔记目录DFSforexample对!你已经掌握DFS的真谛了最后,我们再来一道题康康DFS如何下手BFSBFS的基本写法forexampleforanotherexample牢记这6步,BFSsoeasyDFSDFS深度优先搜索,首先,DFS是一种算法,但是对于不同的问题,
专业渡劫修仙
·
2020-06-24 01:53
数据结构与算法
最简单易懂《
大话数据结构
》KMP模式匹配算法next数组代码解析
问题描述 最近在学习《
大话数据结构
》这本书,在看字符串这个章节的时候,书上讲述了KMP模式匹配算法来匹配字符串。
烤乳鸽好好吃啊
·
2020-06-24 00:52
算法
大话数据结构
--第四章 栈和队列
开场白上一节讲了数据结构中的线性表,本节对另外一个结构,栈和队列解析解析理解。栈限定仅在表尾进行插入和删除操作的线性表。后进先出队列是只允许在一段进行插入操作、而在另一端进行删除操作的线性表。先进先出栈的定义栈是限定仅在表尾进行插入和删除操作的线性表。允许插入和删除的一端称为栈顶,另一段称为栈底。不含任何元素的栈叫空栈。栈又称为后进先出的线性表栈的插入操作叫进栈,或称压栈、入栈;栈的删除操作饺子出
coder_jt
·
2020-06-23 23:24
数据结构
大话数据结构
---第二章 算法
1、算法的概念算法,这个概念听起来很高深的样子,如果你在面试时也提到这个概念,面试官会认为你很专业,那么算法究竟是什么呢?算法其实很简单,平时我们在编程的过程中常与算法打交道,不过写的算法是好还是坏。按照本书的解释,算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限系列,并且每条指令表示一个或多个操作。说直白一点就是我们解决问题的过程就是一个算法。算法有好有坏,比如用高斯求和与循环遍历都
coder_jt
·
2020-06-23 23:24
数据结构
1.1数据结构->线性表->顺序表
参考《
大话数据结构
》:环境:ubuntu16.04vim文件名称:sqlist.hsqlist.cmain.cMakefile(放到同一个目录下)实现功能:顺序线性表的插入、查找和删除一、sqlist.h
Ada-Lee
·
2020-06-23 22:22
数据结构学习
大话数据结构
十六:哈夫曼树(最优二叉树)
1.引子当前素质教育的背景下,小学的学科成绩都改为了优秀、良好、及格、不及格这样的模糊词语,而不再通报具体的分数。用代码可以表示如下:if(a②):2.哈夫曼树定义和原理我们先把上图简化成叶子结点带权的二叉树(注:树结点间的连线相关的数叫做权,Weight)。①结点的路径长度:从根结点到该结点的路径上的连接数。②树的路径长度:树中每个叶子结点的路径长度之和。③结点带权路径长度:结点的路径长度与结点
jim8757
·
2020-06-23 22:54
大话数据结构
十四:二叉树的顺序存储结构(数组实现)
1.顺序存储结构:二叉树的顺序存储结构就是用一维数组存储二叉树中的结点。2.完全二叉树:完全二叉树由于其结构上的特点,通常采用顺序存储方式存储。一棵有n个结点的完全二叉树的所有结点从1到n编号,就得到结点的一个线性系列。如下图:完全二叉树除最下面一层外,各层都被结点充满了,每一层结点的个数恰好是上一层结点个数的2倍,因此通过一个结点的编号就可以推知它的双亲结点及左,右孩子结点的编号:①当2i≤n时
jim8757
·
2020-06-23 22:54
大话数据结构
十三:二叉树的链式存储结构(二叉链表)
1.关于树①树的度—也即是宽度,简单地说,就是结点的分支数。②树的深度—组成该树各结点的最大层次。③森林—指若干棵互不相交的树的集合。④有序树—指树中同层结点从左到右有次序排列,它们之间的次序不能互换,这样的树称为有序树,否则称为无序树。2.二叉树的特点i、每个结点最多有两颗子树ii、左子树和右子树是有顺序的,次序不能任意颠倒iii、即使树中某结点只有一颗子树,也要区分它是左子树还是右子树3.二叉
jim8757
·
2020-06-23 22:53
大话数据结构
十二:字符串的模式匹配(BM算法)
1.BM算法简介:KMP算法其实并不是效率最高的字符串匹配算法,实际应用的并不多,各种文本编辑器的“查找”功能大多采用的是BM算法(BoyerMoore)。BM算法效率更高,更容易理解。2.BM算法分析:(1)假定字符串为"HEREISASIMPLEEXAMPLE",搜索词为"EXAMPLE"。(2)首先,"字符串"与"搜索词"头部对齐,从尾部开始比较。这是一个很聪明的想法,因为如果尾部字符不匹配
jim8757
·
2020-06-23 22:53
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他