Yong式(杨氏)矩阵的概念与性质 ,以及算法实现

本文介绍了Yong式矩阵的概念,它是一种特殊的矩阵结构,每行和每列都按升序排列。文章详细阐述了如何在保持Yong式矩阵特性的前提下,实现ExtractMin、插入元素、移除元素以及查找元素等操作,并讨论了使用Yong式矩阵进行排序的可能性。每个操作的时间复杂度均为O(m+n),其中m和n分别为矩阵的行数和列数。
摘要由CSDN通过智能技术生成
//来源于算法导论思考题 6-3

(1)概念

一个m*n的Yong式矩阵(Yong tableau) 是一个m*n矩阵,其中的每一行的数据都是从左到右排序,每一列的数据都是从上到下排序。Yong 式矩阵中可能会有一些

INF 数据项,表示不存在的元素,所以,Yong式矩阵可能用来存放r<=mn 个有限的数。

比如下面 4*4的原始 Yong式矩阵如



(2)操作与性质

a.在一个给定的非空m*n的Yong式 实现 ExtractMin 操作来移除矩阵中的最小元素,但是保持Yong矩阵的特性 。时间复杂度为O(m+n).下图为ExtractMin 后的矩阵

3       4       9       INF

5       8       16     INF

12     14     INF   INF

INF    INF   INF   INF

算法思想将:c 中的移除操作机 Del(0,0)

b将一个新的元素插入到一个未满的m*n Yong式矩阵,同时保持 Yong 式矩阵的特性。时间复杂度为O(m+n).例如添加元素 7后的矩阵

2       3       4       INF

5       8       9       INF

7       14     16     INF

12     INF   INF    INF

操作过程如下图

算法思想:先给新加入值为Key的元素,选择合适的位置该位置记作X,满足条件: 该位置的左边位置XL中的值不为INF,该位置的上边位置XU中的值不为INF。令matrix[X]=key

对于矩阵中给定位置X

若 matrix[X]>=matrix[XL] && matrix

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值