演算法導論學習筆記(二):合并排序

在前一篇部落格中已經提到了插入排序,這裡繼續介紹下另一種比較高效的排序:合并排序。合并排序用到了分治思想,其時間複雜度為O(NlgN)。合并演算法的關鍵在於合并。合并排序的的基本步驟如下:1.把待排序的數組分為左數組和右數組2.對左數組和右數組進行迭代排序3.將左數組和右數組進行合并顯然這些基本步驟符合分治模式在每一層遞迴上的三個步驟:分解、解決、合并。每步的實現代碼如下:1.分解數組及進行迭代操作void merge_sort (int a[], int p, int r){if (p

j2me與j2ee通訊樣本(2)

最近在開發j2me與jsp通訊傳多參數時有點心得,也因網上這類資料比較少所以寫下來與大家分享,寫得不好之處請大家多指教!首先當然是要用以下三個類了:HttpConnection conn = null;//用於串連到web服務InputStream input = null;//用於接收返回資訊DataOutputStream output =null;//用於發送資料(當然也可以用OutputStream,只是DataOutputStream有更多實用的方法)然後就是用conn =

WebView 關於如何隱藏地址欄,用WebView 來顯示網頁內容

  android提供了封裝瀏覽器的介面,可以讓開發人員利用自己的view顯示網頁內容。今天又實現研究了一下,利用WebView顯示瀏覽器內容,還可以利用 WebViewClient顯示自己需要的內容。  參考:http://developer.android.com/reference/android/webkit/WebView.html效果如下:

j2me連網最佳實務

由於無線裝置所能支援的網路通訊協定非常有限,僅限於HTTP,Socket,UDP等幾種協議,不同的廠家可能還支援其他網路通訊協定,但是,MIDP1.0規範規定,HTTP協議是必須實現的協議,而其他協議的實現都是可選的。因此,為了能在不同類型的手機上移植,我們盡量採用HTTP作為網路連接的首選協議,這樣還能重用伺服器端的代碼。但是,由於HTTP是一個基於文本的效率較低的協議,因此,必須仔細考慮手機和伺服器端的通訊內容,儘可能地提高效率。對於MIDP應用程式,應當盡量做到:1.發送請求時,附加一個U

Andorid Launcher程式碼分析

Launcher是Android系統的案頭系統,是比較重要也比較複雜的程式,這裡對其代碼做一個分析,希望起到拋磚引玉的作用。1. Launcher有什嗎? live folder , widget , shortcut , wallpaper ,見 onActivityResult 2. UI 分成 3 部分: workspace,  slibingdrawer,  deletezone 3. Menu: 見 onCreateOptionsMenu in launcher.java 4.

關於Nokia的 “無法處理的異常”

j2me連網程式,,,Nokia手機程式會提示 "是否允許訪問網路" ,如果點否的話,,,則可能彈出一個對話方塊 ,內容為 "無法處理的異常,程式可能關閉", 關於這個問題,,,,我的程式是這樣架構的,,主線程中的  run() 方法 連網封閉在了另外一個方法 getResponse(), 程式操作,需要 在 run()方法中,調用getResponse() 來獲得連網資料,,, 這個時候我就可以在 getResponse()中捕獲,安全異常 (SecurityException

menu介紹與執行個體

1 optionsmenu介紹與執行個體  產生menu;設定menu單擊相應事件   android.view.Menu   (1)boolean  onCreateOptionsMenu():負責產生menu。在按下手機裝置上的menu是,調用Activity中此方法。     menu.add();  add(int 分組id(不分組用0), int itemId, int 排序資訊(大的在後), CharSequence 顯示資訊)    (2)boolean 

Intent與Activity介紹

Intent與Activity介紹   startActivity();   startActivityForResult();    Intent的作用:(1)啟動一個新的Activity並且可以攜帶資料     (2)啟動一個服務(service)    (3)廣播一個事件   Activity通過Intent傳遞資料:    把要傳遞的資料(索引值對)放入到Intent中,然後跳轉   

對話方塊介紹與執行個體

對話方塊介紹與執行個體兩種Dialog:AlertDialog;ProgressDialogDialog類:並非繼承與View;生命週期由Activity維護;標題,表徵圖,資訊,按鈕組成Activity關於Dialog的方法: showDialog(int id):在某個地方調showDialog();Activity會調用onCreateDialog(id),然後是onPrepareDialog(id,Dialog

調用系統通訊錄,返回結果

代碼如下:public class ActivityMain2 extends Activity {private Button btn;private static final String[] PHONE_PROJECTION = new String[]{Phone.DISPLAY_NAME,Phone.NUMBER,Photo.PHOTO_ID,Phone.CONTACT_ID};private String str;private String columns[] = new

SSD4選擇題做題工具

ssd4要考試了,看看學長用python寫的選擇題工具挺好玩的,所以自己也寫了一個,也是用python寫的.騙一下訪問量~~HappySSD4選擇題工具功能:1:連續刷題做錯的題目會自動儲存,並且可以按日期進行歸檔.如果覺得哪道題目比較好可以選擇收藏至錯題集2:可以選擇緊接著上一次的完成情況繼續完成3.可以順序回顧錯題集中的題目,或者打亂順序查看4.可以從錯題集中抽取部分試題進行測驗,隨機的,題目數量自己確定5.可以從以前做過的題目中隨機播放部分試題進行測驗,也可以從題庫中選取進行綜合測驗.可打

Intent對象內建的Flag

Intent對象在Android開發中起著舉足輕重的作用,其內建了豐富的常量,用於傳遞資料,下面本文將介紹跟Task有關的一些Flag參數,各參數的理解均來自Android API和本人在實際項目中的體驗,如果有描述不當之處,還請各位不吝賜教。 FLAG_ACTIVITY_BROUGHT_TO_FRONT: 這個標誌一般不是由程式碼設定的,如在launchMode中設定singleTask模式時系統幫你設定。 FLAG_ACTIVITY_CLEAR_TOP:

關於如何擷取應用中的異常資訊

   最近在做一個小應用程式,是有關於如何擷取程式中出現的異常資訊,後來在網上查了一下。問題得到瞭解決,看這個程式之前,先要瞭解一下LogCat  中一些參數。大家可以在網上找一些關於LogCat中的資料學一下。廢話就不多說了,看代碼!ActivityMain.javapublic class ActivityMain1 extends Activity{Process logCatProc = null;BufferedReader reader = null;String[] aa =

高考爬蟲總結

今天又玩了一把爬蟲,現在總計一下.首先是字串的操作1.分割操作split,這是string內建的,返回的是根據特定的字元分割字串後返回的數組2.然後是檔案讀取,這其中要涉及的是判斷檔案讀取到,可以根據讀取的字串的長度為這,或者判斷讀取的字串是否為'',這樣便可以做出正確的判斷.貌似你可以寫很多的pipeline,但是這畢竟只是一個管道,所以你一次只能用一個,需要在setting中修改配置.

LinkedHashMap的removeEldestEntry方法

LinkedHashMap有一個removeEldestEntry(Map.Entry eldest)方法,通過覆蓋這個方法,加入一定的條件,滿足條件返回true。當put進新的值方法返回true時,便移除該map中最老的鍵和值。 package scorpio.jh.maptest;import java.util.LinkedHashMap;import java.util.Map;public class LinkedHashMapTest { public static void

synchronized及wait,notify

方法控制對類成員變數的訪問:每個類執行個體對應一把鎖,每個 synchronized 方法都必須獲得調用該方法的類執行個體的鎖方能執行,否則所屬線程阻塞,方法一旦執行,就獨佔該鎖,直到從該方法返回時才將鎖釋放,此後被阻塞的線程方能獲得該鎖,重新進入可執行狀態。wait()/notify():調用任意對象的 wait() 方法導致線程阻塞,並且該對象上的鎖被釋放。而調用 任意對象的notify()方法則導致因調用該對象的 wait()

WPF初探–TreeView

1. 添加節點    //建立一個TreeViewTreeView tv = new TreeView();//添加一級節點TreeViewItem tv1_item1 = new TreeViewItem();tv1_item1.Header = "我是一級節點1";tv.Items.Add(tv1_item1);TreeViewItem tv1_item2 = new TreeViewItem();tv1_item2.Header =

資料庫沒有有效所有者解決方案

此資料庫沒有有效所有者,因此無法安裝資料庫圖表支援對象。若要繼續,請首先使用“資料庫屬性”對話方塊的“檔案”頁或ALTER AUTHORIZATION語句將資料庫擁有者設定為有效登入名稱,然後再添加資料庫圖表支援對象。按照第一種方式更改怎麼也不行,並且檔案的所有者也是sa。在csdn中找了半天,有個同志給出了第二種解法,使用ssms。具體在SSMS中運行以下命令:ALTER AUTHORIZATION ON database::mydbname TO

AndroidWidget控制項開發教程-2

AndroidWidget控制項開發教程-2一、EditText編輯框的基礎知識由於EditText是由TextView類繼承而來的,所以TextView類的方法它都有,這裡我們要注意幾個特殊的地方:EditablegetText();返回編輯框內的內容,相當於MFC中的UpdateData(TRUE)voidsetText();參數是字串類型或者String類型,設定編輯框內的內容【注】java中String與int之間的相互轉換String轉換為int:Intn =

演算法導論學習筆記(一):插入排序

排序可以說是我們平常寫代碼中最經常用到的演算法之一了。冒泡排序應該是大家最熟悉的了,幾乎每本程式設計語言的入門教程中都會提到。這裡主要講下插入排序。插入排序:插入排序的大概步驟是從第二個元素開始遍曆,當遍曆到第N個元素時,前面N - 1個元素都已經排好序了,然後尋找前面排好序的N -

總頁數: 61357 1 .... 13499 13500 13501 13502 13503 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.