原创 Ip:首部檢驗和字段

IP/ICMP/IGMP/TCP/UDP等協議的校驗和算法都是相同的,算法如下: 在發送數據時,爲了計算數IP據報的校驗和。應該按如下步驟: (1)把IP數據報的首部都置爲0,包括校驗和字段。 (2)把首部看成以16位爲單位的

原创 編程珠璣:第一章開篇課後題解答

轉載自博客:http://blog.csdn.net/johnnyhu90/article/details/11675543

原创 大話數據庫:第四章 創建和維護表

一. E-R模型 實體聯繫模型,提供表示實體、屬性和聯繫的方法,用來描述現實世界的概念模型。 實體只是一個數據對象,客觀存在的事物,可以是抽象的也可以是實際存在的事物。這些事物會有相關的屬性。 實體之間的聯繫有三種類型: 一對一關聯1:1

原创 排序:歸併排序

1.概述 採用分治策略,將問題分爲一些小的問題然後遞歸求解,而治的階段則是將分的階段解得各個答案合併在一起。現將一個序列分爲只有1,2元素的子序列,然後兩兩合併。 2.實現 對一個具有N個元素的數組進行歸併排序 void Merge_s

原创 leetcode:word-break

1.題目描述 Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequen

原创 排序:直接插入排序

1.概述 直接插入排序的基本操作是將一個記錄插入到已經排好序的有序表中,從而得到一個新的、記錄數增1的有序表。 2.實現 進行N-1趟排序,第P趟的時候,位置0到P的元素爲已排序狀態。 void insertaion_sort(int

原创 排序:快速排序

1.概述 快速排序是最慢的冒泡排序的升級,它們都屬於交換排序類。也是通過不斷比較的移動交換來實現交換的,與冒泡排序相比,增大了記錄的比較和移動的距離,將關鍵字較大的記錄從前面直接移動到後面,關鍵字較小的記錄從後面直接移動到前面,從而減少了

原创 排序:簡單選擇排序

1.概述 不同於冒泡排序的兩兩交換,選擇排序是先找到合適的關鍵字再做交換,並且只移動一次就完成相應關鍵字的排序工作。通過n-i次關鍵字間的比較,從n-i+1個記錄中選出關鍵字做小的記錄,並和第i個記錄交換之。 2.實現 <span st

原创 C++中的string類的用法

要想使用標準C++中string類,必須要包含 #include <string>// 注意是<string>,不是<string.h>,帶.h的是C語言中的頭文件 using  std::string; using  std::

原创 編程珠璣:第三章 數據決定程序結構 習題解答

一.題目描述:本書出版之時,美國的個人收入所得稅分爲5種不同的稅率,其中最大的稅率大約爲40%.以前的情況則更爲複雜,稅率也更高。下面所示的程序文本採用25個if語句的合理方法來計算1978年的美國聯邦所得稅。稅率序列爲0.14, 0.

原创 leetcode:copy-list-with-random-pointer

一、題目描述 A linked list is given such that each node contains an additional random pointer which could point to any node

原创 leetcode:word-break-ii

1.題目描述 Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each word is a

原创 排序總結

排序的穩定性,排序穩定對於某些特殊需求來說是至關重要的。 內排序與外排序:將排序記錄全部放置在內存中就是內排序,外排序需要在內外存之間多次交換數據才能進行。 內排序分類:插入排序,交換排序,選擇排序,歸併排序。 插入排序類:直接插入排序,

原创 leetcode:sort-list

1.題目描述 Sort a linked list in O(n log n) time using constant space complexity。 2.實現 (1)堆排序實現,它的時間複雜度爲O(n log n),但是由於堆排序

原创 排序:希爾排序

1.概述 希爾排序是突破時間複雜度爲O(n2)的第一批算法。 我們分析直接插入排序,當我們的記錄是基本有序的時候,只需要少量的插入操作就可以完成整個記錄的排序工作,此時直接插入很高效。還有就是記錄比較少的時候,直接插入的優勢也比較明顯。我