zoukankan      html  css  js  c++  java
  • 对比数组、链表时间复杂度

    import java.util.ArrayList;
    import java.util.LinkedList;
    
    /**
     * Created by Roni on 2020/2/7.
     */
    public class Solution {
        public static void main(String[] args) {
    
            ArrayList arrayList = new ArrayList();
            LinkedList linkedList = new LinkedList();
    // ArrayList add
            long startTime = System.nanoTime();
            for (int i = 0; i < 100000; i++) {
                arrayList.add(i);
            }
            long endTime = System.nanoTime();
            long duration = endTime - startTime;
            System.out.println("ArrayList add:  " + duration);
    // LinkedList add
            startTime = System.nanoTime();
            for (int i = 0; i < 100000; i++) {
                linkedList.add(i);
            }
            endTime = System.nanoTime();
            duration = endTime - startTime;
            System.out.println("LinkedList add: " + duration);
    // ArrayList get
            startTime = System.nanoTime();
            for (int i = 0; i < 10000; i++) {
                arrayList.get(i);
            }
            endTime = System.nanoTime();
            duration = endTime - startTime;
            System.out.println("ArrayList get:  " + duration);
    // LinkedList get
            startTime = System.nanoTime();
            for (int i = 0; i < 10000; i++) {
                linkedList.get(i);
            }
            endTime = System.nanoTime();
            duration = endTime - startTime;
            System.out.println("LinkedList get: " + duration);
    // ArrayList remove
            startTime = System.nanoTime();
            for (int i = 9999; i >=0; i--) {
                arrayList.remove(i);
            }
            endTime = System.nanoTime();
            duration = endTime - startTime;
            System.out.println("ArrayList remove:  " + duration);
    // LinkedList remove
            startTime = System.nanoTime();
            for (int i = 9999; i >=0; i--) {
                linkedList.remove(i);
            }
            endTime = System.nanoTime();
            duration = endTime - startTime;
            System.out.println("LinkedList remove: " + duration);
        }
    }
    

    ArrayList add: 11386000
    LinkedList add: 4355200
    ArrayList get: 89200
    LinkedList get: 76741000
    ArrayList remove: 250221100
    LinkedList remove: 72771800

  • 相关阅读:
    libevent网络编程汇总
    LibEvent代码阅读--多缓冲区和零拷贝技术
    几个第三方库发图片
    Libevent使用例子,从简单到复杂
    CImage得到位图的大小
    从位图数据取得位图句柄
    BMP格式详解
    如何将内存中的位图数据绘制在DC上
    C++加载位图跟SOCKET通信的编写
    11235
  • 原文地址:https://www.cnblogs.com/Roni-i/p/12274898.html
Copyright © 2011-2022 走看看