數據結構入門

 一  數據結構與算法的區別:java

    數據結構指的是每一個數據個體的存儲+個體關係的存儲,而算法指的是存儲數據時對數據的操做算法

二    程序:數組

       指的是數據的存儲+數據的操做以及能夠被計算機執行的語言數據結構

三    堆內存與棧內存的區別函數

        棧內存以壓棧出棧的方式分配內存,符合先進後出原則,好比函數調用spa

        堆內存以堆排序的方式分配內存,符合優先隊列的原則,第一個元素有最高優先權指針

四    靜態內存與動態內存的區別排序

        靜態內存是棧中分配的,屬於局部變量,好比int i,j遞歸

        動態內存是堆中分配的,好比malloc,i=5後半部分隊列

五    靜態棧與動態棧的區別

        靜態棧中元素間是連續的 ,相似數組,因此用的少  

        動態棧中元素是不連續的,相似鏈表,因此用的多

六    c與java中,int等數據類型各佔多少空間

                                    java             c

                byte          1字節              1

                short         2字節              2

                int              4字節             2(TC)/4(VC)

                long            8字節            4字節

                char            2字節            1

                float           4字節            4

                double        8字節            8

                boolean      1字節            1

七    指針

        int * p=&i,好比在內存塊中分配了一塊地址(編號爲000H)給i,裏面存放的i的值,int * p則表示分配一塊內存地址,裏面存放的是指針類型,這個指針指向的地址中存放的值的類型int

        對於數組:a<==>&a[0]

                        a[i]<==>*(a+i)

                        a[i]也能夠表示爲i[a]

        pArry->pBase,表示pArry這個指針變量 所指向的結構體變量中pBase變量

八    遞歸條件以及優缺點

      條件:

         1.遞歸中必須有一個明確的終止條件

        2.該函數的數據規模必須離終止條件愈來愈近

        3.這個轉化必須是可解的

        4.能夠將每一個事件概括到不一樣case中執行

        優缺點:

          1.易於理解

          2.速度慢

          3.存儲空間大、、調用要發送實參、返回地址、爲被調函數分配內存空間

九     邏輯結構的分類:

    線性與非線性

        線性有:數組、鏈表

        非線性又包括離散集合、圖、數         

相關文章
相關標籤/搜索