中大機構典藏-NCU Institutional Repository-提供博碩士論文、考古題、期刊論文、研究計畫等下載:Item 987654321/80946
English  |  正體中文  |  简体中文  |  全文筆數/總筆數 : 80990/80990 (100%)
造訪人次 : 42415163      線上人數 : 1666
RC Version 7.0 © Powered By DSPACE, MIT. Enhanced by NTU Library IR team.
搜尋範圍 查詢小技巧:
  • 您可在西文檢索詞彙前後加上"雙引號",以獲取較精準的檢索結果
  • 若欲以作者姓名搜尋,建議至進階搜尋限定作者欄位,可獲得較完整資料
  • 進階搜尋


    請使用永久網址來引用或連結此文件: http://ir.lib.ncu.edu.tw/handle/987654321/80946


    題名: 以演算法程式設計競賽試題為例使用Big-O AST靜態分析函式時間複雜度;Static Analysis of Time Complexity with Big-O AST: A Case Study of Algorithmic Competitive Programming Problems
    作者: 何東穎;He, Dong-Ying
    貢獻者: 軟體工程研究所
    關鍵詞: 靜態分析;抽象語法樹;大O符號;時間複雜度;演算法;Static Analysis;Abstract Syntax Tree;Big-O;Time Complexity;Algorithm
    日期: 2019-06-26
    上傳時間: 2019-09-03 15:20:42 (UTC+8)
    出版者: 國立中央大學
    摘要: 評估一演算法效率的好壞最常見方式是分析其演算法的時間複雜度。一般而言,時間複雜度的分析最常使用Big-O作為評估的標準。且時間複雜度的分析並非是一個簡單的問題,目前有許多研究探討使用靜態分析或動態分析的方式分析時間複雜度,本研究介紹了各個研究應用在程式設計競賽中的不足之處,並說明如何利用Big-O AST達到與程式語言無關,靜態分析函式時間複雜度的方法。
    本研究提出從AST分析結構化程式設計中循序結構、重覆結構、選擇結構的時間複雜度的方法,並且考慮了函式呼叫的時間複雜度計算與遞迴的偵測。我們使用Python實作本研究,將工具命名為BigO-Calc。
    本研究使用挑戰程序設計競賽書中演算法問題的五個演算法實作與本論文For迴圈$O(log(M))$的範例分析函式的時間複雜度。在六個範例共九個函式的時間複雜度分析上,BigO-Calc能夠正確的分析三個範例共五個函式的時間複雜度。;The most common way to evaluate an algorithm is analyze the time complexity of target algorithm. In general, analyzing the time complexity of an algorithm is using big O notation. Time complexity analysis is not an easy question, there are many study of how to analyze time complexity by static analysis or dynamic analysis. We point out the weak point of others methodology applied to programming contest. In this paper, we present how to statically analyze function time complexity and how to do language independent analysis by Big-O AST.
    In this paper, we present how to analyze the time complexity of this three architecture: sequence architecture, repetition architecture, selection architecture which are introduced by "structured programming". We also calculate function call′s time complexity and show how to detect recursion. We had implemented this tool by Python, and named BigO-Calc.
    To evaluate BigO-Calc we analyze five algorithm questions which contain eight functions from book "挑戰程序設計", and one for loop example which the time complexity is $O(log(M))$. The result of evaluation is Big-O Calc can analyze five functions from three algorithm questions.
    顯示於類別:[軟體工程研究所 ] 博碩士論文

    文件中的檔案:

    檔案 描述 大小格式瀏覽次數
    index.html0KbHTML306檢視/開啟


    在NCUIR中所有的資料項目都受到原著作權保護.

    社群 sharing

    ::: Copyright National Central University. | 國立中央大學圖書館版權所有 | 收藏本站 | 設為首頁 | 最佳瀏覽畫面: 1024*768 | 建站日期:8-24-2009 :::
    DSpace Software Copyright © 2002-2004  MIT &  Hewlett-Packard  /   Enhanced by   NTU Library IR team Copyright ©   - 隱私權政策聲明