計算機(jī)考研面試題目_第1頁
計算機(jī)考研面試題目_第2頁
計算機(jī)考研面試題目_第3頁
計算機(jī)考研面試題目_第4頁
計算機(jī)考研面試題目_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

8086/8088的內(nèi)部中斷主要有5種。

(1)除法錯中斷

(2)單步中斷

(3)斷點中斷

(4)溢出中斷

(5)用戶自定義的軟件中斷

在8086/8088內(nèi)存的開始1K字節(jié)建立了一個中斷向量表,每個中斷向量由4個字節(jié)組成,低兩位是IP值,高兩位是CS值,這個CS:IP地址表示當(dāng)相應(yīng)中斷發(fā)生時,中斷處理程序的入口地址。關(guān)閉中斷標(biāo)識,重要數(shù)據(jù)入棧,處理中斷服務(wù)功能(你要實現(xiàn)的功能),數(shù)據(jù)出棧,恢復(fù)中斷標(biāo)識,開中斷.ExtJS不同其他的javaScript庫,ExtJS為您的開發(fā)夯實了基礎(chǔ),只需幾行代碼,你就可以制作出豐富的用戶界面。Ext庫是對雅虎YUI的一個拓展,提供了它所不支持的特性:良好的API,真實的控件。雖然YUI致力于用戶界面,但是它卻沒有提供許多有用的功能。

Ext的產(chǎn)生源自于開發(fā)者、開源貢獻(xiàn)者們將YUI擴(kuò)展成一個強(qiáng)大的客戶端應(yīng)用程序庫的努力。

Ext提供了一個簡單豐富的用戶界面,如同桌面程序一般。這使得開發(fā)者能夠把精力更多的轉(zhuǎn)移到實現(xiàn)應(yīng)用的功能上。Ext官網(wǎng)上的示例會讓你知道它是如何的不可思議:/deploy/dev/examples/。Ext讓通過如下的方式來讓web應(yīng)用的開發(fā)變的十分簡單:

?

提供簡單的,跨瀏覽器的控件,如:窗口、表格、表單。這些組件都是能夠適應(yīng)市場上的主流瀏覽器的。我們不需要做任何改動。

?

用戶是通過EventManager來和瀏覽器做交互的,相應(yīng)的事件有:用戶的鍵盤輸入,鼠標(biāo)擊打,瀏覽器監(jiān)聽(窗口改變大小,改變字體)等等;

?

在和用戶交互時不需要刷新頁面,一切在后臺進(jìn)行。它允許你從服務(wù)器通過AJAX來獲取或者提交數(shù)據(jù)并且在第一時間執(zhí)行你的反饋。JavaEEMVC:開始是存在于桌面程序中的,M是指業(yè)務(wù)模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計數(shù)據(jù)可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。[1-2]Hibernate是一個實現(xiàn)數(shù)據(jù)持久化的工具項目,它可以被嵌入到J2EE服務(wù)器中使用,也可以直接從客戶端調(diào)用,通常的使用方式是將Hibernate嵌入到Tomcat和JBoss等服務(wù)器中使用。簡單的說就是在表的記錄與與表對應(yīng)的持久化類的實例之間進(jìn)行轉(zhuǎn)換。Spring:Spring表示是一個開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性。框架的主要優(yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時為J2EE應(yīng)用程序開發(fā)提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。◆目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能◆范圍:任何Java應(yīng)用簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架?!糨p量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。◆控制反轉(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。的信息,怎樣把這些浩如煙海的東西變成你想要的知識,這是計算科學(xué)的重要課題,同時人機(jī)界面更加友好。目前計算機(jī)"思維"的方式與人類思維方式有很大區(qū)別,人機(jī)之間的間隔還不小。人類還很難以自然的方式,如語言、手勢、表情與計算機(jī)打交道,計算機(jī)難用已成為阻礙計算機(jī)進(jìn)一步普及的巨大障礙。估計5-10年內(nèi)手寫和口語輸入將逐步成為主流的輸入方式。手勢(特別是啞語手勢)和臉部表情識別也已取得較大進(jìn)展。使人沉浸在計算機(jī)世界的虛擬現(xiàn)實(VirtualReality)技術(shù)是近幾年來發(fā)展較快的技術(shù),21世紀(jì)將更加迅速的發(fā)展。1.C的結(jié)構(gòu)體和C++結(jié)構(gòu)體的區(qū)別1.1C的結(jié)構(gòu)體內(nèi)不允許有函數(shù)存在,C++允許有內(nèi)部成員函數(shù),且允許該函數(shù)是虛函數(shù)。所以C的結(jié)構(gòu)體是沒有構(gòu)造函數(shù)、析構(gòu)函數(shù)、和this指針的。1.2C的結(jié)構(gòu)體對內(nèi)部成員變量的訪問權(quán)限只能是public,而C++允許public,protected,private三種。1.3C語言的結(jié)構(gòu)體是不可以繼承的,C++的結(jié)構(gòu)體是可以從其他的結(jié)構(gòu)體或者類繼承過來的。以上都是表面的區(qū)別,實際區(qū)別就是面向過程和面向?qū)ο缶幊趟悸返膮^(qū)別:C的結(jié)構(gòu)體只是把數(shù)據(jù)變量給包裹起來了,并不涉及算法。而C++是把數(shù)據(jù)變量及對這些數(shù)據(jù)變量的相關(guān)算法給封裝起來,并且給對這些數(shù)據(jù)和類不同的訪問權(quán)限。 C語言中是沒有類的概念的,但是C語言可以通過結(jié)構(gòu)體內(nèi)創(chuàng)建函數(shù)指針實現(xiàn)面向?qū)ο笏枷搿?.C++的結(jié)構(gòu)體和C++類的區(qū)別2.1C++結(jié)構(gòu)體內(nèi)部成員變量及成員函數(shù)默認(rèn)的訪問級別是public,而c++類的內(nèi)部成員變量及成員函數(shù)的默認(rèn)訪問級別是private。2.2C++結(jié)構(gòu)體的繼承默認(rèn)是public,而c++類的繼承默認(rèn)是private。靜態(tài)鏈接庫、動態(tài)鏈接庫與COM組件的區(qū)別1.動態(tài)鏈接庫與靜態(tài)鏈接庫的區(qū)別。1.1靜態(tài)鏈接庫作為代碼的一部分,在編譯時被鏈接。1.2動態(tài)鏈接庫有兩種使用方式:一種是靜態(tài)加載,即在應(yīng)用程序啟動時被加載;一種是動態(tài)加載,即是該動態(tài)鏈接庫在被使用時才被應(yīng)用程序加載。2.動態(tài)鏈接庫和COM組件的區(qū)別2.1動態(tài)鏈接庫的表現(xiàn)形式只能是dll[變態(tài)該名的除外],COM組件的表現(xiàn)形式可以是dll也可以是exe。注:其實字體、驅(qū)動等也算是動態(tài)鏈接庫的一種,這里略去...2.2動態(tài)鏈接庫的生成和編譯器及系統(tǒng)相關(guān),在Windows/Linux下系統(tǒng),需要分別編譯才能使用。COM組件是二進(jìn)制編碼,在Windows和Linux下可以直接使用,不需要重新編譯。2.3COM組件是按照COM規(guī)范實現(xiàn)的dll或者exe;動態(tài)鏈接庫是一個可以導(dǎo)出函數(shù)的函數(shù)集合。2.4動態(tài)鏈接庫只能在本機(jī)被調(diào)用,COM組件支持分布式使用。MAC地址是不能通過IP來查詢的!

局域網(wǎng)如何根據(jù)ip查mac

cmd

pingip地址

arp-a

即使ping不通,只要他機(jī)開著,都可以看到MAC!!顯示和修改“地址解析協(xié)議(ARP)”緩存中的項目。ARP緩存中包含一個或多個表,它們用于存儲IP地址及其經(jīng)過解析的以太網(wǎng)或令牌環(huán)物理地址。計算機(jī)上安裝的每一個以太網(wǎng)或令牌環(huán)網(wǎng)絡(luò)適配器都有自己單獨(dú)的表。如果在沒有參數(shù)的情況下使用,則arp命令將顯示幫助信息。-a[InetAddr][-NIfaceAddr]

顯示所有接口的當(dāng)前ARP緩存表。要顯示特定IP地址的ARP緩存項,請使用帶有InetAddr參數(shù)的arp-a,此處的InetAddr代表IP地址。如果未指定InetAddr,則使用第一個適用的接口。要顯示特定接口的ARP緩存表,請將-NIfaceAddr參數(shù)與-a參數(shù)一起使用,此處的IfaceAddr代表指派給該接口的IP地址。-N參數(shù)區(qū)分大小寫。BIOSBIOS設(shè)置程序是儲存在BIOS芯片中的,BIOS芯片是主板上一塊長方形或正方形芯片,只有在開機(jī)時才可以進(jìn)行設(shè)置。BIOS是:直譯過來后中文名稱就是"基本輸入輸出系統(tǒng)"。其實,它是一組固化到計算機(jī)內(nèi)主板上一個ROM芯片上的程序,它保存著計算機(jī)最重要的基本輸入輸出的程序、系統(tǒng)設(shè)置信息、開機(jī)后自檢程序和系統(tǒng)自啟動程序。其主要功能是為計算機(jī)提供最底層的、最直接的硬件設(shè)置和控制。數(shù)學(xué)中的梯度是什么意思?在向量微積分中,標(biāo)量場的梯度是一個向量場。標(biāo)量場中某一點上的梯度指向標(biāo)量場增長最快的方向,梯度的長度是這個最大的變化率。更嚴(yán)格的說,從歐氏空間Rn到R的函數(shù)的梯度是在Rn某一點最佳的線性近似。在這個意義上,梯度是雅戈比矩陣的一個特殊情況。

在單變量的實值函數(shù)的情況,梯度只是導(dǎo)數(shù),或者,對于一個線性函數(shù),也就是線的斜率。

梯度一詞有時用于斜度,也就是一個曲面沿著給定方向的傾斜程度??梢酝ㄟ^取向量梯度和所研究的方向的點積來得到斜度。梯度的數(shù)值有時也被成為梯度。

如果你是問在純數(shù)學(xué)中的作用,那就是反映那個量變化的有多劇烈;多元微積分中則還反映在哪個方向上變化最劇烈.云計算云計算[1]是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。定義:“云計算是通過網(wǎng)絡(luò)提供可伸縮的廉價的分布式計算能力”。云計算代表了以虛擬化技術(shù)為核心、以低成本為目標(biāo)的動態(tài)可擴(kuò)展網(wǎng)絡(luò)應(yīng)用基礎(chǔ)設(shè)施,是近年來最有代表性的網(wǎng)絡(luò)計算技術(shù)與模式。云計算是:分布式計算、并行計算、效用計算、[3]網(wǎng)絡(luò)存儲、虛擬化、負(fù)載均衡等傳統(tǒng)計算機(jī)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。云計算是通過使計算分布在大量的分布式計算機(jī)上,而非本地計算機(jī)或遠(yuǎn)程服務(wù)器中,企業(yè)數(shù)據(jù)中心的運(yùn)行將與互聯(lián)網(wǎng)更相似。這使得企業(yè)能夠?qū)①Y源切換到需要的應(yīng)用上,根據(jù)需求訪問計算機(jī)和存儲系統(tǒng)。好比是從古老的單臺發(fā)電機(jī)模式轉(zhuǎn)向了電廠集中供電的模式。它意味著計算能力也可以作為一種商品進(jìn)行流通,就像煤氣、水電一樣,取用方便,費(fèi)用低廉。最大的不同在于,它是通過互聯(lián)網(wǎng)進(jìn)行傳輸?shù)?。網(wǎng)格計算:分布式計算的一種,由一群松散耦合的計算機(jī)組成的一個超級虛擬計算機(jī),常用來執(zhí)行一些大型任務(wù);效用計算:IT資源的一種打包和計費(fèi)方式,比如按照計算、存儲分別計量費(fèi)用,像傳統(tǒng)的電力等公共設(shè)施一樣;算法的時間復(fù)雜度一個算法花費(fèi)的時間與算法中語句的執(zhí)行次數(shù)成正比例。一個算法中的語句執(zhí)行次數(shù)稱為語句頻度或時間頻度。記為T(n)。計算方法1.一般情況下,算法的基本操作重復(fù)執(zhí)行的次數(shù)是模塊n的某一個函數(shù)f(n),因此,算法的時間復(fù)雜度記做:T(n)=O(f(n))分析:隨著模塊n的增大,算法執(zhí)行的時間的增長率和f(n)的增長率成正比,所以f(n)越小,算法的時間復(fù)雜度越低,算法的效率越高。在計算時間復(fù)雜度的時候,先找出算法的基本操作,然后根據(jù)相應(yīng)的各語句確定它的執(zhí)行次數(shù),再找出T(n)的同數(shù)量級(它的同數(shù)量級有以下:1,log(2)n,n,nlog(2)n,n的平方,n的三次方,2的n次方,n!),找出后,f(n)=該數(shù)量級,若T(n)/f(n)求極限可得到一常數(shù)c,則時間復(fù)雜度T(n)=O(f(n))十種程序設(shè)計語言PASCAL、C、AdaFORTRAN、BASIC、VisualBasic、Java、C++、Go、Delphi、F#SQL、PowerBuilder、static全局變量與普通的全局變量有什么區(qū)別? 全局變量(外部變量)的說明之前再冠以static就構(gòu)成了靜態(tài)的全局變量。全局變量本身就是靜態(tài)存儲方式,靜態(tài)全局變量當(dāng)然也是靜態(tài)存儲方式。這兩者在存儲方式上并無不同。這兩者的區(qū)別雖在于非靜態(tài)全局變量的作用域是整個源程序,當(dāng)一個源程序由多個源文件組成時,非靜態(tài)的全局變量在各個源文件中都是有效的。 而靜態(tài)全局變量則限制了其作用域,即只在定義該變量的源文件內(nèi)有效,在同一源程序的其它源文件中不能使用它。由于靜態(tài)全局變量的作用域局限于一個源文件內(nèi),只能為該源文件內(nèi)的函數(shù)公用,因此可以避免在其它源文件中引起錯誤。

從以上分析可以看出,把局部變量改變?yōu)殪o態(tài)變量后是改變了它的存儲方式即改變了它的生存期。把全局變量改變?yōu)殪o態(tài)變量后是改變了它的作用域,限制了它的使用范圍。

static函數(shù)與普通函數(shù)作用域不同。僅在本文件。只在當(dāng)前源文件中使用的函數(shù)應(yīng)該說明為內(nèi)部函數(shù)(static),內(nèi)部函數(shù)應(yīng)該在當(dāng)前源文件中說明和定義。對于可在當(dāng)前源文件以外使用的函數(shù),應(yīng)該在一個頭文件中說明,要使用這些函數(shù)的源文件要包含這個頭文件

static全局變量與普通的全局變量有什么區(qū)別:static全局變量只初使化一次,防止在其他文件單元中被引用;

static局部變量和普通局部變量有什么區(qū)別:static局部變量只被初始化一次,下一次依據(jù)上一次結(jié)果值;

static函數(shù)與普通函數(shù)有什么區(qū)別:static函數(shù)在內(nèi)存中只有一份,普通函數(shù)在每個被調(diào)用中維持一份拷貝C語言中講講static變量和static函數(shù)有什么作用

static關(guān)鍵字有兩種意思,你看上下文來判斷1,表示變量是靜態(tài)存儲變量

表示變量存放在靜態(tài)存儲區(qū).

2,表示該變量是內(nèi)部連接

(這種情況是指該變量不在任何{}之內(nèi),就象全局變量那樣,這時候加上static)

,也就是說在其它的.cpp文件中,該變量是不可見的(你不能用).當(dāng)static加在函數(shù)前面的時候

表示該函數(shù)是內(nèi)部連接,之在本文件中有效,別的文件中不能應(yīng)用該函數(shù).

不加static的函數(shù)默認(rèn)為是全局的.

也就是說在其他的.cpp中只要申明一下這個函數(shù),就可以使用它.1、static全局變量與普通的全局變量有什么區(qū)別?static局部變量和普通局部變量有什么區(qū)別?static函數(shù)與普通函數(shù)有什么區(qū)別?

答:全局變量(外部變量)的說明之前再冠以static就構(gòu)成了靜態(tài)的全局變量。全局變量本身就是靜態(tài)存儲方式,靜態(tài)全局變量當(dāng)然也是靜態(tài)存儲方式。這兩者在存儲方式上并無不同。這兩者的區(qū)別雖在于非靜態(tài)全局變量的作用域是整個源程序,當(dāng)一個源程序由多個源文件組成時,非靜態(tài)的全局變量在各個源文件中都是有效的。而靜態(tài)全局變量則限制了其作用域,即只在定義該變量的源文件內(nèi)有效,在同一源程序的其它源文件中不能使用它。由于靜態(tài)全局變量的作用域局限于一個源文件內(nèi),只能為該源文件內(nèi)的函數(shù)公用,因此可以避免在其它源文件中引起錯誤。

從以上分析可以看出,把局部變量改變?yōu)殪o態(tài)變量后是改變了它的存儲方式即改變了它的生存期。把全局變量改變?yōu)殪o態(tài)變量后是改變了它的作用域,限制了它的使用范圍。

static函數(shù)與普通函數(shù)作用域不同。static函數(shù)僅在本文件中使用。只在當(dāng)前源文件中使用的函數(shù)應(yīng)該說明為內(nèi)部函數(shù)(static),內(nèi)部函數(shù)應(yīng)該在當(dāng)前源文件中說明和定義。對于可在當(dāng)前源文件以外使用的函數(shù),應(yīng)該在一個頭文件中說明,要使用這些函數(shù)的源文件要包含這個頭文件

static全局變量與普通的全局變量有什么區(qū)別:static全局變量只初使化一次,防止在其他文件單元中被引用;

static局部變量和普通局部變量有什么區(qū)別:static局部變量只被初始化一次,下一次依據(jù)上一次結(jié)果值;

static函數(shù)與普通函數(shù)有什么區(qū)別:static函數(shù)在內(nèi)存中只有一份,普通函數(shù)在每個被調(diào)用中維持一份拷貝2、如何引用一個已經(jīng)定義過的全局變量?

答:extern

可以用引用頭文件的方式,也可以用extern關(guān)鍵字,如果用引用頭文件方式來引用某個在頭文件中聲明的全局變理,假定你將那個變寫錯了,那么在編譯期間會報錯,如果你用extern方式引用時,假定你犯了同樣的錯誤,那么在編譯期間不會報錯,而在連接期間報錯。3、全局變量可不可以定義在可被多個.C文件包含的頭文件中?為什么?

答:可以,在不同的C文件中以static形式來聲明同名全局變量。

可以在不同的C文件中聲明同名的全局變量,前提是其中只能有一個C文件中對此變量賦初值,此時連接不會出錯。比較兩個浮點數(shù)大小在計算機(jī)中表示一個浮點數(shù),其結(jié)構(gòu)如下:

尾數(shù)部分(定點小數(shù))階碼部分(定點整數(shù))

是2的指數(shù)形式來表示小數(shù)。因此一個小數(shù)用浮點數(shù)來表示,肯定是有誤差的。

比如說兩個運(yùn)算過程,它們的結(jié)果都是2,但是由于浮點運(yùn)算過程不一樣,它結(jié)果可能有差異,比如說可能一個結(jié)果為2,一個結(jié)果為1.9999999999.

因此用==號來比較,會得出錯誤的結(jié)果,浮點數(shù)比較相等的時候,用兩個數(shù)的相減,當(dāng)小于一個比較小的值時,就認(rèn)為相等。3D打印3D打印,即快速成型技術(shù)的一種,它是一種以數(shù)字模型文件為基礎(chǔ),運(yùn)用粉末狀金屬或塑料等可粘合材料,通過逐層打印的方式來構(gòu)造物體的技術(shù)。3D打印通常是采用數(shù)字技術(shù)材料打印機(jī)來實現(xiàn)的。常在模具制造、工業(yè)設(shè)計等領(lǐng)域被用于制造模型,后逐漸用于一些產(chǎn)品的直接制造,已經(jīng)有使用這種技術(shù)打印而成的零部件。該技術(shù)在珠寶、鞋類、工業(yè)設(shè)計、建筑、工程和施工(AEC)、汽車,航空航天、牙科和醫(yī)療產(chǎn)業(yè)、教育、地理信息系統(tǒng)、土木工程、槍支以及其他領(lǐng)域都有所應(yīng)用。[1]而所謂的3D打印機(jī)與普通打印機(jī)工作原理基本相同,只是打印材料有些不同,普通打印機(jī)的打印材料是墨水和紙張,而3D打印機(jī)內(nèi)裝有金屬、陶瓷、塑料、砂等不同的“打印材料”,是實實在在的原材料,打印機(jī)與電腦連接后,通過電腦控制可以把“打印材料”一層層疊加起來,最終把計算機(jī)上的藍(lán)圖變成實物。通俗地說,3D打印機(jī)是可以“打印”出真實的3D物體的一種設(shè)備,比如打印一個機(jī)器人、打印玩具車,打印各種模型,甚至是食物等等。之所以通俗地稱其為“打印機(jī)”是參照了普通打印機(jī)的技術(shù)原理,因為分層加工的過程與噴墨打印十分相似。這項打印技術(shù)稱為3D立體打印技術(shù)。[2]大數(shù)據(jù)分析新數(shù)據(jù)源的業(yè)務(wù)需求數(shù)據(jù)挖掘需要人工智能、數(shù)據(jù)庫、機(jī)器語言和統(tǒng)計分析知識等很多跨學(xué)科的知識。再者,數(shù)據(jù)挖掘的出現(xiàn)需要條件,第一個條件:海量的數(shù)據(jù);第二個條件:計算機(jī)技術(shù)大數(shù)據(jù)量的處理能力;第三個條件:計算機(jī)的存儲與運(yùn)算能力;第四個條件:交叉學(xué)科的發(fā)展。

大數(shù)據(jù)只是數(shù)據(jù)挖掘的出現(xiàn)的一個條件。更為復(fù)雜的新數(shù)據(jù)已經(jīng)出現(xiàn),而且生成的速度達(dá)到了前所未有的程度

社交網(wǎng)絡(luò)數(shù)據(jù)、網(wǎng)絡(luò)日志、存檔數(shù)據(jù)和傳感器數(shù)據(jù)都屬于人們在分析中關(guān)注的新數(shù)據(jù)源盡管傳統(tǒng)環(huán)境不斷發(fā)展,但如今出現(xiàn)了許多更為復(fù)雜的新數(shù)據(jù)類型,企業(yè)需要分析這些數(shù)據(jù)類型,以便充實其已知信息。此外,這些新數(shù)據(jù)的生成速度遠(yuǎn)遠(yuǎn)超過了以往的紀(jì)錄??蛻艉蜐撛诳蛻粽谏缃痪W(wǎng)絡(luò)和評論網(wǎng)站中創(chuàng)建大量的新數(shù)據(jù)。此外,在線新聞項目、氣象數(shù)據(jù)、競爭對手網(wǎng)站內(nèi)容,甚至是數(shù)據(jù)市場如今都已經(jīng)成為可供企業(yè)使用的候選數(shù)據(jù)源。在企業(yè)內(nèi)部,隨著客戶轉(zhuǎn)變?yōu)橐栽诰€渠道作為開展商業(yè)交易及與企業(yè)互動的首選方法,網(wǎng)絡(luò)日志也在不斷增加。分析所用的存檔數(shù)據(jù)再次增多,為監(jiān)測和優(yōu)化業(yè)務(wù)運(yùn)營而部署的傳感器網(wǎng)絡(luò)和機(jī)器數(shù)量也越來越多。結(jié)果就生成了大量新數(shù)據(jù)源、快速增加的數(shù)據(jù)量和迅速增加的新數(shù)據(jù)流,需要分析所有這些新數(shù)據(jù)。在信息量如此龐大的背景下,為找尋關(guān)鍵問題的答案,現(xiàn)在的企業(yè)戰(zhàn)略對于信息管理和利用能力的依賴性更勝于以往。伴隨著井噴式的數(shù)據(jù)增長,孤立的數(shù)據(jù)存儲是造成信息管理和集成成本激增的主要原因。面對著分散于不同數(shù)據(jù)庫的孤立數(shù)據(jù),企業(yè)主管無法確保自己能夠全面掌握客戶、產(chǎn)品和供應(yīng)商的情況。孤立的信息同樣也令遵守行業(yè)或政府法規(guī)的難度加大。在信息集成戰(zhàn)略和技術(shù)的幫助下,能夠在正確時間從任意來源檢索數(shù)據(jù),編排格式后再提供給企業(yè)內(nèi)外的任意目標(biāo)。信息集成能夠幫助企業(yè)執(zhí)行許多關(guān)鍵任務(wù),其中包括將多個來源的數(shù)據(jù)加載到倉庫當(dāng)中,整合應(yīng)用程序?qū)嵗?,以及將不同部門和分部的信息關(guān)聯(lián)起來。通過將企業(yè)信息整合成單一來源(不論信息存儲于什么位置),企業(yè)能夠快速處理信息,縮短停機(jī)時間,減少客戶服務(wù)問題,并在盡量不影響性能的情況下分配信息。IBM信息集成解決方案用于集成及轉(zhuǎn)化數(shù)據(jù)和內(nèi)容,進(jìn)而提供權(quán)威、一致、及時、完整的信息,并且在數(shù)據(jù)的整個生命周期內(nèi)控制數(shù)據(jù)質(zhì)量。其近線性的無縫擴(kuò)展能力以及以元數(shù)據(jù)為驅(qū)動的設(shè)計能夠幫助企業(yè)將不同數(shù)據(jù)庫統(tǒng)一成單一的整合信息庫,以及識別和更正不準(zhǔn)確或冗余的數(shù)據(jù)。給你解釋一下這些術(shù)語:

云計算:就是個炒得很熱的商業(yè)概念,其實說白了就是將計算任務(wù)轉(zhuǎn)移到服務(wù)器端,用戶只需要個顯示器就行了,不過服務(wù)器的計算資源可以轉(zhuǎn)包。當(dāng)然,要想大規(guī)模商業(yè)化,這里還有些問題,特別是隱私保護(hù)問題。

大數(shù)據(jù):說白了就是數(shù)據(jù)太多了。如今幾兆的數(shù)據(jù)在20年前也是大數(shù)據(jù)。但如今所說的大數(shù)據(jù)特殊在哪呢?如今的問題是數(shù)據(jù)實在是太多了,這已經(jīng)超過了傳統(tǒng)計算機(jī)的處理能力(區(qū)別與量子計算機(jī)),所以對于大數(shù)據(jù)我們不得不用一些折衷的辦法(比如數(shù)據(jù)挖掘),就是說沒必要所有數(shù)據(jù)都需要精確管理,實際上有效數(shù)據(jù)很有限,用數(shù)據(jù)挖掘的方法把這些有限的知識提取出來就行了?!ご送猓瑪?shù)據(jù)抽樣,數(shù)據(jù)壓縮也是解決大數(shù)據(jù)問題的一些策略。

數(shù)據(jù)挖掘:從數(shù)據(jù)中提取潛在知識,這些知識可以描述或者預(yù)測數(shù)據(jù)的特性。有代表性的數(shù)據(jù)挖掘任務(wù)包括關(guān)聯(lián)規(guī)則分析、數(shù)據(jù)分類、數(shù)據(jù)聚類等,這些你在任一本數(shù)據(jù)挖掘教材都可以了解。下面我說說和大數(shù)據(jù)的區(qū)別:數(shù)據(jù)挖掘只是大數(shù)據(jù)處理的一個方法。馬云所說的大數(shù)據(jù),或者如今商業(yè)領(lǐng)域所說的大數(shù)據(jù),實際上指的就是數(shù)據(jù)挖掘,其實真正所謂大數(shù)據(jù),或者Science雜志中提到的大數(shù)據(jù),或者奧巴馬提出的大數(shù)據(jù)發(fā)展戰(zhàn)略,我的理解是,這些都遠(yuǎn)遠(yuǎn)大于數(shù)據(jù)挖掘的范疇,當(dāng)然數(shù)據(jù)挖掘是其中很重要的一個方法。真正目的是如何將大數(shù)據(jù)進(jìn)行有效管理。

機(jī)器學(xué)習(xí):這個詞很虛,泛指了一大類計算機(jī)算法。重點是學(xué)習(xí)這個詞,如果想讓計算機(jī)有效學(xué)習(xí),目前絕大多數(shù)方法都采用了迭代的方法。所以在科研界,只要是采用了這種迭代并不斷逼近的策略,一般都可以歸到機(jī)器學(xué)習(xí)的范疇。此外,所謂學(xué)習(xí),肯定要知道學(xué)什么,這就是所謂訓(xùn)練集,從訓(xùn)練集數(shù)據(jù)中計算機(jī)要學(xué)到其中的某個一般規(guī)律,然后用一些別的數(shù)據(jù)(即測試集)來看看學(xué)得好不好,之后才能用于實際應(yīng)用。所以,選取合適的訓(xùn)練集也是個學(xué)問。

模式識別:意思就是模式的識別。模式多種多樣,可以是語言,可以是圖像,可以是事物一些有意義的模塊,這些都算。所以總體來說,模式識別這個詞我是覺得有點虛,倒是具體的人臉圖像識別、聲音識別等,這些倒是挺實在的。也許是我不太了解吧。

另外說說你的其他問題。

傳統(tǒng)分析方法不包括數(shù)據(jù)挖掘。對于數(shù)據(jù)分析這塊我不是很了解,不過可以肯定的是,傳統(tǒng)分析都有一定的分析方向,比如我就想知道這兩個商品的關(guān)聯(lián)情況,那我查查數(shù)據(jù)庫就行了。數(shù)據(jù)挖掘雖說有些歷史,不過也挺時髦的,它是自動將那些關(guān)聯(lián)程度大的商品告訴你,這期間不需要用戶指定數(shù)據(jù)分析的具體對象。

如果想應(yīng)對大數(shù)據(jù)時代,數(shù)據(jù)挖掘這門課是少不了的。此外對數(shù)據(jù)庫,特別是并行數(shù)據(jù)庫、分布式數(shù)據(jù)庫,最好了解點。至于機(jī)器學(xué)習(xí)和模式識別,這些總的來說和數(shù)據(jù)挖掘關(guān)系不太大,除了一些特殊的領(lǐng)域外。

總之,概念挺熱,但大數(shù)據(jù)還很不成熟,無論從研究上還是商業(yè)化上。我目前在作大數(shù)據(jù)背景下的算法研究,說實話,目前基本沒有拓展性非常強(qiáng)的算法,所以未來大數(shù)據(jù)的發(fā)展方向,我也挺迷茫。

PS:將數(shù)據(jù)挖掘應(yīng)用于商業(yè),最最重要的就是如何確定挖掘角度,這需要你對具體應(yīng)用的領(lǐng)域知識非常了解,需要你有非常敏銳的眼光。至于數(shù)據(jù)挖掘的具體算法,這些就交給我們專門搞研究的吧?。▽λ惴ǖ睦斫庖埠苤匾?,這可以把算法拓展到你的應(yīng)用領(lǐng)域)

直方圖灰度直方圖的定義灰度直方圖是灰度級的函數(shù),描述圖像中該灰度級的像素個數(shù)(或該灰度級像素出現(xiàn)的頻率):其橫坐標(biāo)是灰度級,縱坐標(biāo)表示圖像中該灰度級出現(xiàn)的個數(shù)(頻率)?!綩penCV】數(shù)字圖像灰度直方圖灰度直方圖是數(shù)字圖像中最簡單且有用的工具,這一篇主要總結(jié)OpenCV中直方圖CvHistogram的結(jié)構(gòu)和應(yīng)用。灰度直方圖的定義灰度直方圖是灰度級的函數(shù),描述圖像中該灰度級的像素個數(shù)(或該灰度級像素出現(xiàn)的頻率):其橫坐標(biāo)是灰度級,縱坐標(biāo)表示圖像中該灰度級出現(xiàn)的個數(shù)(頻率)。一維直方圖的結(jié)構(gòu)表示為高維直方圖可以理解為圖像在每個維度上灰度級分布的直方圖。常見的是二維直方圖。如紅-藍(lán)直方圖的兩個分量分別表示紅光圖像的灰度值和藍(lán)光圖像灰度值的函數(shù)。其圖像坐標(biāo)(Dr,Db)處對應(yīng)在紅光圖像中具有灰度級Dr同時在藍(lán)光圖像中具有灰度級Db的像素個數(shù)。這是基于多光譜——每個像素有多個變量——的數(shù)字圖像,二維中對應(yīng)每個像素統(tǒng)計個變量。OpenCV中的直方圖CvHistogram注意我們在上面理解直方圖的意義時更多把他想象成一幅“圖”,繼而理解圖中橫坐標(biāo),縱坐標(biāo)的意義。而在OpenCV中,應(yīng)該更多把直方圖看做“數(shù)據(jù)結(jié)構(gòu)”來理解。OpenCV中用CvHistogram表示多維直方圖(/index.php/Cv%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86#CvHistogram):[cpp]viewplaincopytypedefstructCvHistogram{inttype;CvArr*bins;//存放每個灰度級數(shù)目的數(shù)組指針floatthresh[CV_MAX_DIM][2];//均勻直方圖float**thresh2;//非均勻直方圖CvMatNDmat;//直方圖數(shù)組的內(nèi)部數(shù)據(jù)結(jié)構(gòu)}CvHistogram;這個結(jié)構(gòu)看起來簡單(比IplImage*元素少多了。。。)其實并不太好理解。第一個成員type用來指定第二個成員bins的類型。OpenCv中常見到CvArr*的接口,可以用以指定諸如CvMat、CvMatND、IplImage的類型,其實CvArr*的是一個指向void的指針。在函數(shù)內(nèi)部有時需要得到確切的指向類型,這就需要type來指定。thresh用來指定統(tǒng)計直方圖分布的上下界。比如[0255]表示用來統(tǒng)計圖像中像素分別在灰度級[0255]區(qū)間的分布情況,CV_MAX_DIM對應(yīng)直方圖的維數(shù),假如設(shè)定二維紅-藍(lán)直方圖的thresh為[0255;100200],就是分別統(tǒng)計紅色圖像灰度級在[0255]以及藍(lán)色圖像在灰度級[100200]的分布情況。thresh用以指定均勻直方圖的分布,我們按每個像素理解自然是“均勻分布”,其實也可以統(tǒng)計像素在幾個區(qū)間的分布。如果統(tǒng)計像素在2個區(qū)間的分布,則對應(yīng)[0255]的上下界,均勻分布統(tǒng)計的區(qū)間即[0127][127255]分布的概率,這也是為什么thresh第二個維數(shù)默認(rèn)為2——會自動均分上下界;而thresh2指定非均勻的分布,這就需要指定每個區(qū)間的上下界,如果要統(tǒng)計直方圖在區(qū)間(0,10,100,255)的分布,那需要指定thresh2的一個維度為[010100255],所以用float**形式表示。mat簡單說就是存儲了直方圖的信息,即我們統(tǒng)計的直方圖分布概率。創(chuàng)建直方圖cvCreateHist()OpenCV中用cvCreateHist()創(chuàng)建一個直方圖:[cpp]viewplaincopyCvHistogram*cvCreateHist(intdims,//直方圖維數(shù)int*sizes,//直翻圖維數(shù)尺寸inttype,//直方圖的表示格式float**ranges=NULL,//圖中方塊范圍的數(shù)組intuniform=1//歸一化標(biāo)識);size數(shù)組的長度為dims,每個數(shù)表示分配給對應(yīng)維數(shù)的bin的個數(shù)。如dims=3,則size中用[s1,s2,s3]分別指定每維bin的個數(shù)。

type有兩種:CV_HIST_ARRAY意味著直方圖數(shù)據(jù)表示為多維密集數(shù)組CvMatND;CV_HIST_TREE意味著直方圖數(shù)據(jù)表示為多維稀疏數(shù)組CvSparseMat。ranges就是那個復(fù)雜的不好理解的thresh的范圍,他的內(nèi)容取決于uniform的值。uniform為0是均勻的,非0時不均勻。計算圖像直方圖的函數(shù)為CalcHist():[cpp]viewplaincopyvoidcvCalcHist(IplImage**image,//輸入圖像(也可用CvMat**)CvHistogram*hist,//直方圖指針intaccumulate=0,//累計標(biāo)識。如果設(shè)置,則直方圖在開始時不被清零。constCvArr*mask=NULL//操作mask,確定輸入圖像的哪個象素被計數(shù));要注意的是這個函數(shù)用來計算一張(或多張)單通道圖像的直方圖,如果要計算多通道,則用這個函數(shù)分別計算圖像每個單通道。實踐:一維直方圖下面實踐一下用OpenCV生成圖像的一維直方圖[cpp]viewplaincopyintmain(){IplImage*src=cvLoadImage("baboon.jpg");IplImage*gray_plane=cvCreateImage(cvGetSize(src),8,1);cvCvtColor(src,gray_plane,CV_BGR2GRAY);inthist_size=256;//直方圖尺寸inthist_height=256;floatrange[]={0,255};//灰度級的范圍float*ranges[]={range};//創(chuàng)建一維直方圖,統(tǒng)計圖像在[0255]像素的均勻分布CvHistogram*gray_hist=cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);//計算灰度圖像的一維直方圖cvCalcHist(&gray_plane,gray_hist,0,0);//歸一化直方圖cvNormalizeHist(gray_hist,1.0);intscale=2;//創(chuàng)建一張一維直方圖的“圖”,橫坐標(biāo)為灰度級,縱坐標(biāo)為像素個數(shù)(*scale)IplImage*hist_image=cvCreateImage(cvSize(hist_size*scale,hist_height),8,3);cvZero(hist_image);//統(tǒng)計直方圖中的最大直方塊floatmax_value=0;cvGetMinMaxHistValue(gray_hist,0,&max_value,0,0);//分別將每個直方塊的值繪制到圖中for(inti=0;i<hist_size;i++){floatbin_val=cvQueryHistValue_1D(gray_hist,i);//像素i的概率intintensity=cvRound(bin_val*hist_height/max_value);//要繪制的高度cvRectangle(hist_image,cvPoint(i*scale,hist_height-1),cvPoint((i+1)*scale-1,hist_height-intensity),CV_RGB(255,255,255));}cvNamedWindow("GraySource",1);cvShowImage("GraySource",gray_plane);cvNamedWindow("H-SHistogram",1);cvShowImage("H-SHistogram",hist_image);cvWaitKey(0);}試驗結(jié)果:對應(yīng)的,我們可以用一樣的思路統(tǒng)計每個通道的直方圖,并繪制圖像每個通道像素的分布:實踐:二維直方圖我們也可以結(jié)合OpenCV的例子生成二維直方圖:[cpp]viewplaincopyIplImage*r_plane=cvCreateImage(cvGetSize(src),8,1);IplImage*g_plane=cvCreateImage(cvGetSize(src),8,1);IplImage*b_plane=cvCreateImage(cvGetSize(src),8,1);IplImage*planes[]={r_plane,g_plane};//將HSV圖像分離到不同的通道中cvCvtPixToPlane(src,b_plane,g_plane,r_plane,0);//生成二維直方圖數(shù)據(jù)結(jié)構(gòu)intr_bins=256,b_bins=256;CvHistogram*hist;{inthist_size[]={r_bins,b_bins};floatr_ranges[]={0,255};//hueis[0,180]floatb_ranges[]={0,255};float*ranges[]={r_ranges,b_ranges};hist=cvCreateHist(2,hist_size,CV_HIST_ARRAY,ranges,1);}//計算一張或多張單通道圖像image(s)的直方圖cvCalcHist(planes,hist,0,0);剛才的圖我們是對應(yīng)每個橫坐標(biāo)繪制縱坐標(biāo)的直方塊,二維的圖需要繪制每個點:[cpp]viewplaincopyfor(inth=0;h<r_bins;h++){for(ints=0;s<b_bins;s++){floatbin_val=cvQueryHistValue_2D(hist,h,s);//查詢直方塊的值intintensity=cvRound(bin_val*255/max_value);cvRectangle(hist_img,cvPoint(h*scale,s*scale),cvPoint((h+1)*scale-1,(s+1)*scale-1),CV_RGB(intensity,intensity,intensity),CV_FILLED);}}最終生成二維直方圖:直方圖的應(yīng)用以后再討論?!綩penCV】直方圖應(yīng)用:直方圖均衡化,直方圖匹配,對比直方圖前面介紹了數(shù)字圖像灰度直方圖,現(xiàn)在來嘗試直方圖的應(yīng)用。直方圖均衡化直方圖均衡化(HistogramEqualization)是直方圖最典型的應(yīng)用,是圖像點運(yùn)算的一種。對于一幅輸入圖像,通過運(yùn)算產(chǎn)生一幅輸出圖像,點運(yùn)算是指輸出圖像的每個像素點的灰度值由輸入像素點決定,即:直方圖均衡化是通過灰度變換將一幅圖像轉(zhuǎn)換為另一幅具有均衡直方圖,即在每個灰度級上都具有相同的象素點數(shù)過程。從分布圖上的理解就是希望原始圖像中y軸的值在新的分布中盡可能的展開。變換過程是利用累積分布函數(shù)對原始分布進(jìn)行映射,生成新的均勻拉伸的分布。因此對應(yīng)每個點的操作是尋找原始分布中y值在均勻分布中的位置,如下圖是理想的單純高斯分布映射的示意圖:(圖片來源:《LearnningOpenCV》p189)OpenCV中的cvEqualizeHistOpenCV中有灰度直方圖均衡化的函數(shù)cvEqualizeHist,接口很明朗:[cpp]viewplaincopyvoidcvEqualizeHist(constCvArr*src,CvArr*dst);注意此函數(shù)只能處理單通道的灰色圖像,對于彩色圖像,我們可以把每個信道分別均衡化,再M(fèi)erge為彩色圖像。實踐:圖像直方圖均衡化[cpp]viewplaincopyintmain(){IplImage*image=cvLoadImage("baboon.jpg");//顯示原圖及直方圖myShowHist("Source",image);IplImage*eqlimage=cvCreateImage(cvGetSize(image),image->depth,3);//分別均衡化每個信道IplImage*redImage=cvCreateImage(cvGetSize(image),image->depth,1);IplImage*greenImage=cvCreateImage(cvGetSize(image),image->depth,1);IplImage*blueImage=cvCreateImage(cvGetSize(image),image->depth,1);cvSplit(image,blueImage,greenImage,redImage,NULL);cvEqualizeHist(redImage,redImage);cvEqualizeHist(greenImage,greenImage);cvEqualizeHist(blueImage,blueImage);//均衡化后的圖像cvMerge(blueImage,greenImage,redImage,NULL,eqlimage);myShowHist("Equalized",eqlimage);}原始圖像及灰度直方圖如下:均衡化后的直方圖:直方圖匹配直方圖匹配又叫直方圖規(guī)定化(HistogramNormalization/Matching)是指對一副圖像進(jìn)行變換,使其直方圖與另一幅圖像的直方圖或特定函數(shù)形式的直方圖進(jìn)行匹配。應(yīng)用場景如不同光照條件下的兩幅圖像,我們可以在比較兩幅圖像前先進(jìn)行匹配變化。參考shlkl99上傳的直方圖匹配代碼,將圖像規(guī)定化為高斯分布函數(shù)。[cpp]viewplaincopy//將圖像與特定函數(shù)分布histv[]匹配voidmyHistMatch(IplImage*img,doublehistv[]){intbins=256;intsizes[]={bins};CvHistogram*hist=cvCreateHist(1,sizes,CV_HIST_ARRAY);cvCalcHist(&img,hist);cvNormalizeHist(hist,1);doubleval_1=0.0;doubleval_2=0.0;ucharT[256]={0};doubleS[256]={0};doubleG[256]={0};for(intindex=0;index<256;++index){val_1+=cvQueryHistValue_1D(hist,index);val_2+=histv[index];G[index]=val_2;S[index]=val_1;}doublemin_val=0.0;intPG=0;for(inti=0;i<256;++i){min_val=1.0;for(intj=0;j<256;++j){if((G[j]-S[i])<min_val&&(G[j]-S[i])>=0){min_val=(G[j]-S[i]);PG=j;}}T[i]=(uchar)PG;}uchar*p=NULL;for(intx=0;x

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論