999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于預處理的快速冪算法及其實現*

2021-02-04 05:12:34段學松曲中水江緒楨呂昌昊
科技創新與應用 2021年7期

段學松,曲中水,江緒楨,呂昌昊

(哈爾濱理工大學 計算機科學與技術學院,黑龍江 哈爾濱 150080)

1 概述

快速冪算法,即快速計算一個數或者矩陣的冪次的算法,一直是加密算法中的重要算法,并且在數論中有著相當廣泛的應用,更是算法競賽中最常遇到的問題,尤其在線性齊次遞推數列[1]的求解上。例如常見的斐波那契數列[1]第n 項的計算,通過構造轉移矩陣[1]和快速計算矩陣冪次[1]的方式能夠大大降低計算線性齊次遞推數列的時間復雜度。但是隨著矩陣的行數和列數不斷增加,每一次矩陣乘法會變得相當耗時,對于稀疏矩陣,雖然存在優化算法[2],甚至存在優化算法的硬件實現[3],但是如何減少矩陣乘法計算的次數變得極其重要。目前計算快速冪,最常用的算法是二進制拆分法[4],但是對于一個固定的數或者是固定矩陣的冪次來說,二進制拆分法并沒有保留每次拆分的過程,導致拆分的過程會做大量的重復計算。因此對于固定的數或者固定矩陣的冪次,可以預處理部分數據,達到減少重復運算,降低算法時間復雜度的目的。

2 傳統的二進制拆分快速冪算法概述

2.1 二進制拆分法的原理

計算an,傳統的快速冪算法的核心思想是二進制拆分。令m 為n 在二進制下最高位1 的位置,我們對n 進行二進制拆分,則有:

通過乘法原理,可以得到:

綜上,可以得到:

其中,ei是n 在二進制下第i 位的值,例如當n=13的時候,n 的二進制形式為:(1101)2,最高位 1 的位置 m=4,對n 進行二進制拆分得到的結果為:

2.2 二進制拆分快速冪算法的時間復雜度與空間復雜度分析

T(n)=O(log2n)

由于二進制拆分快速冪算法用迭代實現,在計算的過程中用于存儲計算用到的空間是常數級別的,因此二進制拆分快速冪算法的空間復雜度為:

S(n)=O(1)

如果計算k 次,總時間復雜度為:

T(n)=O(klog2n)

金壇區于2016年啟動長蕩湖清淤工程,在外源污染有效治理和控制的前提下,通過對長蕩湖湖區污染底泥實施生態清淤,有效削減底泥內源污染,促進湖泊水體水質改善,為長蕩湖水生態修復奠定基礎。

總空間復雜度為:

S(n)=O(1)

2.3 二進制拆分快速冪算法的C++實現

圖1 二進制拆分法的C++實現

2.4 多次計算時二進制拆分法的重復運算

當利用二進制拆分快速冪算法多次計算相同底數的冪次時,存在大量的冗余計算。例如:

3 基于預處理的快速冪算法

3.1 基于預處理的快速冪算法原理

首先我們用a mod b 表示a 對b 取余數。

證明 由取余運算的性質[5]可得,定理1 成例。

證畢。

根據定理2 以及乘法原理可得:

由于 u∈[0,P],v∈(0,P),因此可以在計算快速冪前預處理出 a0,a1,a2…aP-1,aP以及(aP)0,(aP)1,(aP)2…(aP)P-1,(aP)P并存儲起來,每次計算an時,首先計算出以及v=n mod P,之后從提前預處理的數據中選擇(aP)u和av進行一次乘法運算即可得到an的結果。

3.2 基于預處理的快速冪乘算法的時間復雜度與空間復雜度分析

3.2.1 預處理過程時間與空間復雜度分析

因為通過預處理能夠得到aP,因此,預處理(aP)0,(aP)1,(aP)2…(aP)P-1,(aP)P的時間復雜度:

所以,預處理的總時間復雜度:

3.2.2 計算快速冪的時間與空間復雜度分析

在計算快速冪的過程中,由于P,u,v 的計算消耗是常數級別的,而計算查表計算一次乘法的時間復雜度也是常數級別的,因此計算快速冪的時間復雜度:

T(n)=O(1)

計算過程中臨時變量的存儲空間都是常數級別的,因此計算快速冪的空間復雜度為:

S(n)=O(1)

3.2.3 計算k 次相同底數的an的總體時間空間復雜度分析

預處理的目的是去除重復運算,對于相同的底數,多次計算快速冪只用進行一次預處理操作,k 次計算快速冪的總體時間復雜度是:

總體空間復雜度為:

3.3 基于預處理的快速冪乘算法的C++實現

圖2 基于預處理的快速冪算法的C++實現

4 結束語

本文分析了二進制拆分快速冪算法的缺點,并針對相同底數的多次快速冪運算,提出了一種基于預處理的快速冪算法,通過預處理少量的數據,將時間復雜度為O(klog2n)求冪的算法優化至并給出了該算法的時間復雜度與空間復雜度的分析以及C++編程實現,為求解快速冪提供了新的思路。今后,隨著程序設計應用的不斷深入以及人們對算法的研究,更多更復雜的數學問題必定會迎刃而解。

主站蜘蛛池模板: 欧美亚洲日韩中文| 午夜福利视频一区| 免费啪啪网址| 一区二区在线视频免费观看| YW尤物AV无码国产在线观看| 在线看片中文字幕| 97亚洲色综久久精品| 最新亚洲人成无码网站欣赏网| 19国产精品麻豆免费观看| 少妇精品久久久一区二区三区| 欧美、日韩、国产综合一区| 啦啦啦网站在线观看a毛片| 99免费视频观看| 国产福利免费视频| 91麻豆精品视频| 伊人成人在线视频| 人人澡人人爽欧美一区| 国产成人免费观看在线视频| 欧美日韩理论| a毛片免费看| 精品国产自在现线看久久| 国产又大又粗又猛又爽的视频| 亚洲第一页在线观看| 亚洲无码37.| 嫩草国产在线| 91九色国产在线| 亚洲一区无码在线| 亚洲欧美一级一级a| 国产人人乐人人爱| 狼友视频一区二区三区| 国产成人综合在线观看| 国产情精品嫩草影院88av| 国产精品尤物在线| 天堂成人在线| 丰满人妻被猛烈进入无码| 日韩一级二级三级| 国产精品欧美在线观看| 情侣午夜国产在线一区无码| 另类综合视频| 少妇高潮惨叫久久久久久| 国产欧美日韩在线一区| 国产福利影院在线观看| 久久精品国产一区二区小说| 国产微拍一区二区三区四区| 精品国产亚洲人成在线| 91麻豆精品视频| 国产性猛交XXXX免费看| 久久人搡人人玩人妻精品| 免费A级毛片无码无遮挡| 亚洲成a人在线播放www| 高清国产在线| 99精品免费欧美成人小视频 | 伊人色综合久久天天| 伊在人亚洲香蕉精品播放| 国产成在线观看免费视频| 99久久精品国产麻豆婷婷| 久久美女精品| 99久久亚洲综合精品TS| 亚洲V日韩V无码一区二区 | 国产亚洲视频中文字幕视频| 一级福利视频| 国产亚洲视频在线观看| 国产精品无码一区二区桃花视频| 天天色综网| 免费一级全黄少妇性色生活片| 婷婷久久综合九色综合88| 亚洲国产成人久久精品软件| 国产在线一二三区| 国产高清不卡视频| 日韩免费视频播播| 国产精品成人AⅤ在线一二三四| 国产成人毛片| 久久大香伊蕉在人线观看热2| 国产精品无码影视久久久久久久| 亚洲a级毛片| 2021国产精品自产拍在线观看| 国产丝袜无码一区二区视频| 亚洲 成人国产| 国产精品片在线观看手机版| 国产无人区一区二区三区| 国产色偷丝袜婷婷无码麻豆制服| 谁有在线观看日韩亚洲最新视频|