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
《数据结构与算法分析
确定N个数中的第k大元素-
数据结构与算法分析
-C语言描述 Mark Allen Weiss-第一章练习题
/*具体方法:使用类似快速排序,执行一次快速排序后,每次只选择一部分继续执行快速排序,直到找到第K个大元素为止,此时这个元素在数组位置后面的元素即所求时间复杂度:若随机选取枢纽,线性期望时间O(N)若选取数组的“中位数的中位数”作为枢纽,最坏情况下的时间复杂度O(N)利用快速排序的思想,从数组S中随机找出一个元素X,把数组分为两部分Sa和Sb。Sa中的元素大于等于X,Sb中元素小于X。这时有两种情
_守望的稻草人
·
2020-08-20 16:22
Algorithms
数据结构与算法分析
,Java语言描述,第2版 Mark Allen Weiss 笔记
数据结构与算法分析
,Java语言描述,第2版MarkAllenWeiss跳转至:导航、搜索目录1伸展树(splaytree)2优先队列(堆)2.1d-堆2.2左式堆2.3斜堆(skewheap)2.4二项队列
志_祥
·
2020-08-20 15:46
读书笔记
数据结构与算法分析
c语言描述(Mark Allen)--线性表链表方法实现
线性表--链表实现头文件#defineElementTypeint#defineINFINT_MAX#ifndef_List_HstructNode;typedefstructNode*PtrToNode;typedefPtrToNodeList;typedefPtrToNodePostion;//在表尾巴插入一个元素voidInsertAfter(ListL,ElementTypeX);//初始
AdaMeta
·
2020-08-20 15:48
读书笔记
数据结构与算法分析
c语言描述(Mark Allen)--栈ADT链表实现
栈ADT链表实现使用链表存储操作集合入栈push出栈pop清空初始化返回栈顶元素打印整个栈#include#include#include#ifndef_Stack_HstructNode;typedefintElementType;typedefstructNode*PtrToNode;typedefPtrToNodeStack;//打印整个栈voidPrintStack(StackS);//插
AdaMeta
·
2020-08-20 15:48
读书笔记
《
数据结构与算法分析
C++描述》Mark.Allen.Weiss.pdf
下载地址:网盘下载内容简介编辑此书是作者1996年出版“Algorithm,DataStructures,andProblemSolvingwithC++”的缩编本,原书正文807页,作者对内容包括算法重新作了编排,本书正文575页共分12章,其内容依次为C++简介;算法分析;表、栈与队列;树;散列;优先队列(堆);排序;并查集;图;算法设计技术;缓冲分析;高级数据结构和实现。附录中给出类设计的模
weixin_30437847
·
2020-08-20 14:24
数据结构c语言实现-链表(带和不带头节点)
数据结构与算法分析
——c语言描述第3章第二节表1.带头结点(原书)稍微改造一下#include#includestructNode;typedefstructNode*PtrToNode;typedefPtrToNodeList
Renaway
·
2020-08-19 23:57
c数据结构
快排与堆排序、归并排序的比较
数据结构与算法分析
中的描述:与归并排序相似,快速排序递归的解决两个子问题并需要线性的附加工作,但两个子问题大小不等带来了性能的潜在隐患。
不舍驽马
·
2020-08-19 17:00
数据结构与算法
java集合框架(四):TreeMap
我们可以从《
数据结构与算法分析
》这本书找到解析:红黑树
BballChen
·
2020-08-19 16:32
java集合框架
数据结构与算法分析
(C语言描述)(十一)第三章课后习题
3.2.ThecommentsforExercise3.4regardingtheamountofabstractnessusedapplyhere.TherunningtimeoftheprocedureinFig.3.1isOO(LO+PO).voidPrintLots(ListL,ListP){intCounter;PositionLpos,Ppos;Lpos=First(L);Ppos=F
F.D.I.O.E.H.R
·
2020-08-19 08:00
数据结构与算法分析(C语言)
《
数据结构与算法分析
——C语言描述》第三章 链栈实现(C语言)
链栈:采用链式存储的栈。特点是入栈出栈操作均在链表表头进行。优点是不存在栈满上溢的情况,便于多个栈共享存储空间和提高其效率。(后半句没怎么理解)实现如下(带头结点)://栈的链式存储——链栈#include#include#defineElementTypeint#defineN10typedefstructZ{ElementTypedata;structZ*next;}Stack;typedef
房东的小黑
·
2020-08-19 07:36
数据结构与算法分析
拓扑排序的DFS和BFS
BFS
数据结构与算法分析
:c语言描述(p217)已经存在一个Indgree入度数组(indgree[v]={(u,v)的数目})以及一个邻接矩阵,求一个拓扑排序提示:图中出现环就会拓扑失败代码风格被我改为了
weixin_34357887
·
2020-08-19 05:18
线性表--顺序表及链表
本文包含以下内容:一、线性表的介绍以及抽象ADT二、顺序表及顺序表的实现三、链表及链表的实现四、顺序表和链表的比较五、总结参考书目:《
数据结构与算法分析
》【美】CliffordA.Shaffer著一、线性表的介绍以及抽象
Echo_咪
·
2020-08-19 01:54
数据结构
听说你要学数据结构了,确定不用我帮你一把?图灵九本书 + 可视化平台 + 海量题库推荐
文章目录前言亲身经历书
数据结构与算法分析
-C语言描述(新手友好)数据结构基础(不适合新手)大话数据结构(新手入门)可视化平台DataStructureVisualizationsvisualgoBinaryTreeGraphAlgorithmVisualizerAlgorithms-DataStructures-BigONotation
看,未来
·
2020-08-18 13:52
算法/数构
数据结构
算法
可视化
数据结构与算法分析
-C++描述 第9章 图论算法(单源最短路径问题之Dijkstra算法邻接表实现)
单源最短路径问题(SingleSourceShortestPathProblem):给定一个加权图和一个特定顶点作为输入,找到从到中每一个其他顶点的最短加权路径(如下图1示,求顶点1到顶点6的最短路径):即。图1单源最短路径图示Dijkstra算法描述:解决单源最短路径的问题的一般方法为Dijkstra算法,这个有30年历史的解法是贪心算法(greedyalgorithm)最好的例子。其算法思想为
qq_37172182
·
2020-08-18 09:52
C++
数据结构与算法分析-C++描述
Leetcode 题解 - 目录
算法思想双指针排序贪心思想二分查找分治搜索动态规划数学数据结构相关链表树栈和队列哈希表字符串数组与矩阵图位运算参考资料LeetcodeWeissMA,冯舜玺.
数据结构与算法分析
——C语言描述[J].2004
weixin_30617561
·
2020-08-18 04:50
图的相关操作及dfs和bfs详解java实现
每次当我遇到这些题时,总是无法独立的写出较好的解法,我觉得这是因为我对数据结构图的理解不够,所以就重新看以前的
数据结构与算法分析
的书籍,以此加深自己对图的理解。
wangbo818
·
2020-08-18 03:40
数据结构与算法分析
[LeetCode][14]Longest Common Prefix解析 两种算法和底层源码的深入对比-Java实现
其实这题本来就是easy题,但是却让我联想到了《
数据结构与算法分析
》上的一道题目,那道题目是这样的:给一个8900个字的字典,从中间找出
胖子程序员
·
2020-08-18 03:31
LeetCode
LeetCode
数据结构与算法分析
题目:一组整形数,求第k大的数。思路一:先用数组储存这组数,然后使用递减排序算法,输出第k个数。C语言实现:#includevoiddisplayArray(intmyArray[],intn){for(inti=0;i#defineNO3voiddisplayArray(intmyArray[],intn){for(inti=0;iar[j]){ar[j]=myArray[i];break;}}
哥兜兜里有泡泡糖
·
2020-08-16 22:19
数据结构
并查集应用——生成随机迷宫
在读《
数据结构与算法分析
Java语言描述一书中》,在并查集章节的最后,作者给出了一个并查集的应用:生成随机迷宫此处作者给了思路,但是没有给出任何代码,所以自己实现了出来,先上最终效果图:页面是用的thymeleaf
iwgd1
·
2020-08-16 21:29
算法
Java
数据结构《14》----并查集 Union-Find
支持如下操作1.建立包含元素x的集合MakeSet(x)2.查找给定元素所在的集合Find(x),返回所在集合的代表3.将两个不相交的集合合并Union(s1,s2)本文参考《
数据结构与算法分析
,C语言描述
L_J_SHOU
·
2020-08-16 17:46
Algo.
and
Data
structure
Classic
Data
Structure
数据结构
并查集
数据结构与算法分析
:(十一)散列表(上)
文章目录一、散列表概念二、散列函数三、散列冲突一、散列表概念散列表(HashTable),我们平时叫它哈希(Hash)表。散列表的实现常常叫做散列(hashing)。散列是一种用于以常数平均时间执行插入、删除和查找的技术。但是,那些需要元素间任何排序信息的树操作将不会得到有效的支持。散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。可以说,如果没有数
riemann_
·
2020-08-16 14:02
数据结构与算法
typedef 定义数组类型用法
今天看Weiss的《
数据结构与算法分析
》看到一条typedef语句,不明白其意义。
bumingchun
·
2020-08-16 12:37
Horner法则(秦九韶算法 )的程序实现
注:《
数据结构与算法分析
——C》习题2.10学习笔记(另外大家在使用csdn时一定要注意有时候写新文章时会显示最近编辑的一篇文章,如果此时没有点“写新文章”那么在发表后会覆盖之前保存的文章=。
远在远方的风比远方更远
·
2020-08-16 07:46
【Java】
【算法】
【C】
【数据结构与算法分析】
c语言
算法
java
秦九韶
Horner
迪杰斯特拉(Dijkstra)算法描述及其正确性证明
其算法实现代码如下(
数据结构与算法分析
C++版):voidDijkstra(Graph*G,int*D,ints){inti,v,
softee
·
2020-08-16 05:20
《
数据结构与算法分析
—Java语言描述》pdf
下载地址:网盘下载内容简介编辑“数据结构”是计算机专业的基础与核心课程之一,Java是现今一种热门的语言。本书在编写过程中特别考虑到了面向对象程序设计(OOP)的思想与Java语言的特性。它不是从基于另一种程序设计语言的数据结构教材简单地“改编”而来的,因此在数据结构的实现上更加“地道”地运用了Java语言,并且自始至终强调以面向对象的方式来思考、分析和解决问题。本书是为数据结构入门课程(通常课号
weixin_30544657
·
2020-08-16 02:11
(Java)【
数据结构与算法分析
】知识点汇总1
相关书籍:《
数据结构与算法分析
(Java语言描述)》MarkAllenWeiss著,机械工业出版社-Java的8种基本类型:6种数字类型:四种整数型(int,short,byte,long)和两种浮点型
Shirley、风凛
·
2020-08-16 00:13
复习随笔
数据结构与算法-单链表-线性表转置
问题:《
数据结构与算法分析
(C++语言版)》p58五、2已知一个如下图所示的带头结点的单链表head(注:若头指针名是head,则把单链表称为表head),其存储结构为:typedefstructLnode
小林卡比
·
2020-08-15 23:30
数据结构与算法
线性表
数据结构与算法分析
—C语言描述
第一章引论(课后问题解析)Q1.selectionproblem:设有一组N个数而要确定其中第k个最大者。此时取k=N/2①冒泡排序(时间复杂度O(N²));②先把前k个元素(以递减的顺序)对其排序。接着,将剩下的元素逐个读入。当新元素被读入时,如果它小于数组中第k个元素则忽略,否则就将其放入正确的位置上。######①冒泡排序:#include#include#include#defineN30
Biang-Biang
·
2020-08-15 12:51
数据结构与算法——C语言描述
生成一颗具有关键字从1到2^(H+1)-1且高为H的理想平衡二叉树
数据结构与算法分析
——c语言描述练习4.31答案和生成随机二叉树差不多,只不过递归调用的时候左右子树高度均为H-1#include"fatal.h"#includetypedefintElementType
qq789045
·
2020-08-15 07:46
队列的链表实现 C
参考:
数据结构与算法分析
--C语言描述使用链表来实现队列的时候,就不存在队满的情况了,入队就是在一端加入一个节点,出队就是在另一端删除一个节点。
he626shidizai
·
2020-08-15 06:43
数据结构
数据结构与算法分析
学习笔记(2)--拓扑排序
拓扑排序是对有向无圈图的顶点的一种排序,它使得如果存在一条从vi到vj的路径,那么在排序中vj出现在vi的后面。一种简单的做法是先找出一个没有入边的顶点,然后显示出该顶点,并将它和它的边一起删除。如果每次都通过遍历所有顶点来找的话,那么运行时间将是O(|V|^2),其中|V|为顶点数。我们可以将所有的入度为0的顶点放在一个序列中,每次出列一个顶点,并将删除边后入度为0的顶点进队列,这样避免了每次都
yudan_jiangnan
·
2020-08-14 22:28
算法
排序算法
数据结构与算法分析
笔记与总结(java实现)--链表2:倒数第k个结点问题(k从1开始)
思路:所谓输入一个链表是指输入一个头结点这个输入的结点必然是含有next指针的对象,于是之后的多个结点相互连接形成一个链表。倒数第k个结点,也就正数第k+n-1个结点,只需要遍历链表,返回第k+n-1个结点即可;但是此时由于n是不知道的,为了得到n需要先遍历一遍链表,然后再从头到尾遍历到第k+n-1个元素,这样就需要遍历2次链表,效率较差;与之类似的还有使用栈Stack,也需要先将所有结点全部放入
小菜鸟也想飞
·
2020-08-14 18:04
数据结构与算法(java实现)
数据结构与算法分析
笔记与总结(java实现)--链表10:输入某个结点删除单向链表中的该结点
思路:即给定一个要删除的结点pNode,由于是单向链表,因此只能向下遍历而不能向上遍历,因此只能采取的方法是:对于要删除的结点的后面的结点的值向前进行拷贝传递,即将pNode后面的值赋值给pNode,然后将pNode.next指向pNode.next.next;不需要对后续结点全部向前移动,只要改变这个结点下一个结点的指向即刻。特殊的,如果要删除的结点是尾结点,即pNode.next==null,
小菜鸟也想飞
·
2020-08-14 18:04
数据结构与算法(java实现)
矩阵martix类模板
参考
数据结构与算法分析
---C++描述,扩展实现矩阵类模板。
vellerzheng
·
2020-08-14 15:38
数据结构与算法
数据结构与算法分析
笔记与总结(java实现)--链表14:删除链表中所有指定值结点问题
问题:现在有一个单链表。链表中每个节点保存一个整数,再给定一个值val,把所有等于val的节点删掉。给定一个单链表的头结点head,同时给定一个值val,请返回清除后的链表的头结点,保证链表中有不等于该值的其它值。请保证其他元素的相对顺序。测试样例:{1,2,3,4,3,2,1},2{1,3,4,3,1}思路:题目中已经保证了链表中一定有不等于val的其他值,因此删除后的链表不为null。所谓删除
小菜鸟也想飞
·
2020-08-14 15:38
数据结构与算法(java实现)
仅使用基本的表操作实现两个排序后的表L1和L2的并集
针对Weiss著的《
数据结构与算法分析
(C++描述+第三版)习题答案中的3.5题的分析原题:给定两个排序后的表L1和L2,。写出一个程序仅使用基本的表操作来计算L1UL2。
程序员的象牙塔
·
2020-08-14 14:28
数据结构与算法
分治策略结合递归思想求最大子序列和
我的主力博客:半亩方塘对于《
数据结构与算法分析
——C语言描述》一书第20页所描述的算法3,相信会有很多人表示不怎么理解,下面我由具体问题的求解过程出发,谈谈我自己的理解:首先,什么是分治法呢?
abnerwang_smile
·
2020-08-14 06:07
算法
数据结构
用python递归的算法解决汉诺塔问题
每一次递归调用都必须要使求解的状况朝接近基准情形的方向推进设计法则:假设所有的递归调用都能运行合成效益法则:在求解同一问题的同一实例时,切勿在不同的递归调用中做重复的工作_________________摘自《
数据结构与算法分析
ourstoryzj
·
2020-08-14 05:13
python
数据结构与算法分析
:(十)跳表
一、前言上一篇我们讲了关于数组的二分查找算法,
数据结构与算法分析
:(九)二分查找算法。二分查找的底层依赖的是数组随机访问的特性,所以只能用数组来实现。
riemann_
·
2020-08-13 18:57
数据结构与算法
选择问题——选出第K个最大的元素
最近在读《
数据结构与算法分析
(C语言描述)》,在优先队列(堆)一节中,作者总结了关于“选择问题——求第k个最大的元素”的几种思路,在此简单总结一下:第一种将这N个数读进一个数组中,再通过某种简单的算法,
ksisfighting
·
2020-08-12 17:04
算法
数据结构与算法分析
收获总结 第11章 图
1.图(Graph)结构是一种非线性的数据结构,可以用G=(V,E)表示,每个图中都包含一个顶点集合V和一个边集合E,其中E中的每条边都是V中的某一对顶点之间的连接,顶点总数记为|V|,边的总数记为|E|,|E|的取值范围是从0到|V|平方-|V|。关于图的一些概念:稀疏图(sparsegraph):边数较少的图。密集图(densegraph):边数较多的图。完全图(completegraph):
摸爬打滚的入门菜鸟
·
2020-08-12 00:21
数据结构
Java-
数据结构与算法分析
(1)——稀疏数组与二维数组的转换
一、数据结构和算法内容介绍字符串匹配问题:KMP算法(部分匹配表)汉诺塔游戏:分治算法八皇后问题:回溯算法马踏棋盘算法:图深度优化遍历算法(DFS)+贪心算法优化二、数据结构与算法概述数据结构和算法的关系:数据结构是算法的基础;程序=数据结构+算法数据结构:线性结构和非线性结构线性结构:元素之间一对一的线性关系;顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的(地
Xyb5211
·
2020-08-10 21:12
(
数据结构与算法分析
四)------数组循环队列的实现( Java语言描述)
对于队列,他的重要性不亚于栈,而且往往队列和栈是配合着使用的,因为栈是后进先出,而队列是先进先出,这就导致了很多问题可能通过这两个数据结构进行魂环的调用来解决,当然,对于数组实现的队列,他的入队和出队都是非常迅速的,而且通常使用的队列都不是太大的,并且有了循环队列的想法,更是是的数组实现的队列有了更好的应用,下面废话不多说,上代码packagecom.bird.three;/***@categor
iteye_10992
·
2020-08-10 17:10
关于不相交集
参考:
数据结构与算法分析
——Java语言描述(美)MarkAllenWeis等不相交集,这种数据结构以前我倒是听都没听过。它是解决等价问题的一种有效数据结构。
逐兔郎
·
2020-08-10 05:24
算法和数据结构
数据结构与算法分析
2.1 双向链表及其操作
双向链表的增删改查,此双向链表没有使用空的头链表,直接第一个链表就可以存值。//catchapter2_doublelink.h#ifndef_DOUBLE_LINK_#define_DOUBLE_LINK_typedefstructGList{int data;structGList*prev;structGList*next;}GList;GList*g_list_new(void);intg
weixin_30746129
·
2020-08-10 02:42
数据结构与算法分析
数据结构与算法分析
:(三)单向链表
一、什么是链表?链表是一种物理上非连续、非顺序的存储结构,数据元素之间的顺序是通过每个元素的指针(类似C语言中的指针,Java中是引用)关联的。链表由一系列节点组成,每个节点一般至少会包含两部分信息:一部分是元素数据本身,另一部分是指向下一个元素地址的“指针”。这样的存储结构让链表相比其他线性的数据结构来说,操作会复杂一些。说到链表,我们经常拿来与数组比。我们先看下面一张图再来对比它们的各自的优劣
riemann_
·
2020-08-10 00:04
数据结构与算法
递归return的问题
递归的四条基本法则:(引自《
数据结构与算法分析
——C语言描述》MarkAllenWeiss著)1.基准情形。2.不断推进。3.设计法则。4.合成效益法则。
彧卿丶
·
2020-08-09 18:19
Java
数据结构与算法分析
:(四)双向链表
一、双向链表介绍我们上一篇主要介绍了关于单向链表的操作,
数据结构与算法分析
:(三)单向链表。我们先来介绍下单向链表与双向链表的一些差异:1、单向链表只能从头遍历到尾或者从尾遍历到头(一般从头到尾)。
riemann_
·
2020-08-09 17:11
数据结构与算法
数据结构与算法分析
阅读笔记一
第一章引论,主要内容是讲算法对程序运行性能的影响,阅读本书需要的数学基础,还有就是复习递归。第一感觉就是上学时学的数学都还给老师了,指数和对数研究下还基本能懂,到了级数就完全不懂了,连百度再谷歌,研究了半天才知道级数符号∑念作sigma。再往后那些长串的公式和定理就看的囫囵吞枣了,好在学编程就是这样,重在实际应用而不是应付考试,不懂的地方可以暂时略过,后头用到再来研究。即使这样,学的吃力的时候,还
wondye76
·
2020-08-09 13:52
寻找数列中第K大的数
版权所有未经允许请勿擅自商用转载请指明出处最早看到这个问题是在那本Mark写的
数据结构与算法分析
的书中引论部分,当时就是瞅瞅,到了最近,在实际应用中,我需要查找一些列的数中第k大的数时,我才重新回顾品味这个问题
马小李
·
2020-08-08 18:45
C/C_Plus
计算机
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他