电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java針對封裝數組的簡單復雜度分析方法

瀏覽:4日期:2022-09-04 16:58:29

本文實例講述了Java針對封裝數組的簡單復雜度分析方法。分享給大家供大家參考,具體如下:

完成了數組的封裝之后我們還需對其進行復雜度分析:

此處的復雜度分析主要是指時間復雜度分析,算法的時間復雜度反映了程序執行時間隨輸入規模增長而增長的量級,在很大程度上能很好反映出算法的優劣與否。

1.簡單概念

在各種不同算法中,若算法中語句執行次數為一個常數,則時間復雜度為O(1),另外,在時間頻度不相同時,時間復雜度有可能相同,如T(n)=n2+3n+4與T(n)=4n2+2n+1它們的頻度不同,但時間復雜度相同,都為O(n2)。 按數量級遞增排列,常見的時間復雜度有:常數階O(1),對數階O(log2n),線性階O(n), 線性對數階O(nlog2n),平方階O(n2),立方階O(n3),..., k次方階O(nk),指數階O(2n)。隨著問題規模n的不斷增大,上述時間復雜度不斷增大,算法的執行效率越低。相關圖如下:

Java針對封裝數組的簡單復雜度分析方法

從圖中可見,我們應該盡可能選用多項式階O(nk)的算法,而不希望用指數階的算法。

見的算法時間復雜度由小到大依次為:Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)<…<Ο(2n)<Ο(n!)

2.大O簡單定義(非數學領域)

大O描述的是算法運行時間和輸入數據之間的關系

3.簡單程序時間復雜度分析

Java針對封裝數組的簡單復雜度分析方法

在上述中算法和n呈線性關系,那為什么要使用大O呢?稱作O(n)?

其實上述的程序中,實際的實際時間復雜度:T = c1*n + c2,在這里忽略了常數c1和c2。

因此:算法和N呈線性相關,取n的高階項,因為當n趨于無窮大的時候,低階項起的作用很小。

4.對動態數組的時間復雜度進行分析

(1)動態數組添加操作時間復雜度分析

(1)addLast(e)方法 :只需在最后位置添加 時間復雜度 為O(1)

(2)addFirst(e)方法,數組中均需向后移動一位 時間復雜度 為O(n)

(3)add(index,e)方法,在index位置插入e,時間復雜度與選擇的位置有關,選擇最后時間復雜度 為O(1);選擇第一個位置時間復雜度 為O(n);對于其他情況與概率有關,在平均情況下只需要移動n/2個位置 時間復雜度 為O(n/2)=O(n)

總的來說:數組添加的時間復雜度為O(n)(最壞情況考慮)

在添加的時候可能會觸發resize方法,需要移動n個元素到新數組中 時間復雜度 為O(n)

Java針對封裝數組的簡單復雜度分析方法

(2)動態數組刪除操作時間復雜度分析

相同的分析方法,可以得出刪除操作的時間復雜度

Java針對封裝數組的簡單復雜度分析方法

(3)動態數組修改操作時間復雜度分析

對于修改,只要通過索引找到即可進行修改,時間復雜度為O(1)

Java針對封裝數組的簡單復雜度分析方法

(4)動態數組查找操作時間復雜度分析

Java針對封裝數組的簡單復雜度分析方法

動態數組時間復雜度分析總結:

Java針對封裝數組的簡單復雜度分析方法

關于resize方法,我們完全使用最壞情況分析是不合理的,其分析情況我們將在下一節進行學習~

更多關于java相關內容感興趣的讀者可查看本站專題:《Java數組操作技巧總結》、《Java字符與字符串操作技巧總結》、《Java數學運算技巧總結》、《Java數據結構與算法教程》及《Java操作DOM節點技巧總結》

希望本文所述對大家java程序設計有所幫助。

標簽: Java
相關文章:
主站蜘蛛池模板: 卧涛科技有限公司科技项目申报公司|高新技术企业申报|专利申请 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 钢制拖链生产厂家-全封闭钢制拖链-能源钢铝拖链-工程塑料拖链-河北汉洋机械制造有限公司 | 翅片管散热器价格_钢制暖气片报价_钢制板式散热器厂家「河北冀春暖气片有限公司」 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 深圳侦探联系方式_深圳小三调查取证公司_深圳小三分离机构 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 电动车头盔厂家_赠品头盔_安全帽批发_山东摩托车头盔—临沂承福头盔 | 派财经_聚焦数字经济内容服务平台 | 微动开关厂家-东莞市德沃电子科技有限公司| 电机修理_二手电机专家-河北豫通机电设备有限公司(原石家庄冀华高压电机维修中心) | 钢骨架轻型板_膨石轻型板_钢骨架轻型板价格_恒道新材料 | 大米加工设备|大米加工机械|碾米成套设备|大米加工成套设备-河南成立粮油机械有限公司 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 模具钢_高速钢_不锈钢-万利钢金属材料 | 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 球磨机,节能球磨机价格,水泥球磨机厂家,粉煤灰球磨机-吉宏机械制造有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 培训中心-翰香原香酥板栗饼加盟店总部-正宗板栗酥饼技术 | 便携式XPDM露点仪-在线式防爆露点仪-增强型烟气分析仪-约克仪器 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 万师讲师网-优质讲师培训师供应商,讲师认证,找讲师来万师 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 手持式3d激光扫描仪-便携式三维立体扫描仪-北京福禄克斯 | 南京蜂窝纸箱_南京木托盘_南京纸托盘-南京博恒包装有限公司 | 电销卡_北京电销卡_包月电话卡-豪付网络| 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 网优资讯-为循环资源、大宗商品、工业服务提供资讯与行情分析的数据服务平台 | 超声波清洗机_超声波清洗机设备_超声波清洗机厂家_鼎泰恒胜 | 自动气象站_农业气象站_超声波气象站_防爆气象站-山东万象环境科技有限公司 | 光照全温振荡器(智能型)-恒隆仪器 | 河北码上网络科技|邯郸小程序开发|邯郸微信开发|邯郸网站建设 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 工控机-工业平板电脑-研华工控机-研越无风扇嵌入式box工控机 | 铸铁平台,大理石平台专业生产厂家_河北-北重机械 |