原创 Gnome排序(地精排序)

Gnome排序(地精排序),起初由Hamid Sarbazi-Azad 於2000年提出,並被稱爲stupid排序,後來被Dick Grune描述並命名爲“地精排序”,作爲一個排序算法,和插入排序類似,除了移動一個元素到最終的位置,是通過

原创 聊天室-界面-curses

1. curses 的歷史與版本:     cureses 最早是由柏克萊大學的 Bill Joy 及 Ken Arnold 所發展出來的. 當時發展此一函式庫主要原因是爲了提高程式對不同終端機的相容性而設計的. 因此, 利用 cur

原创 多種排序法間的比較

--------- 冒泡排序           冒泡排序重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說排序完成。規模比較小的時候應用冒泡排

原创 編程題-最短排序

題目:  對於一個無序數組A,請設計一個算法,求出需要排序的最短子數組的長度。  給定一個整數數組A及它的大小n,請返回最短子數組的長度。  測試樣例:  [1,5,3,4,2,6,7],7  結果:4  思路:在O(n)的時間複雜度中

原创 編程題-實現蛇形輸出

實現如下的蛇形輸出: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9  具體代碼實現: [html] view pla

原创 希爾排序

希爾排序,也稱遞減增量排序算法,是插入排序的一種更高效的改進版本。希爾排序是非穩定排序算法。 希爾排序是基於插入排序的以下兩點性質而提出改進方法的: · 插入排序在對幾乎已經排好序的數據操作時, 效率高, 即可以達到線性排序的效率 · 

原创 鏈表找環方法註解

編程判斷兩個鏈表是否相交,原題假設兩個鏈表不帶環。   問題本身的解答並不是本文的重點。 用指針p1、p2分別指向兩個鏈表頭,不斷後移;最後到達各自

原创 C和C++中struct和typedef struct的分析

分三塊來講述:   1 首先://注意在C和C++裏不同     在C中定義一個結構體類型要用typedef:     typedef struct

原创 字符串匹配-暴力搜索算法

主要特徵 1、沒有預處理階段 2、需要常量額外空間 3、通常需要模式串窗口向右移動一個位置 4、可以按照任意順序進行比較 5、搜索的時間複雜度爲O(mn) 6、文本字符期望比較次數:2n 算法描述 暴力搜索算法由文本串中從0到n-m所有位

原创 LINUX網絡服務器

一、在之前設計的網絡編程服務器中,涉及到的服務器都是最爲簡單的、一對一的服務器,也就是隻與一個客戶端建立通信。然而在網絡程序裏面,一般來說都是許多客

原创 矩陣的乘法算法

一般矩陣乘法算法: 原理:矩陣相乘最重要的方法是一般矩陣乘積。它只有在第一個矩陣的欄數(column)和第二個矩陣的列數(row)相同時纔有定義。一般單指矩陣乘積時,指的便是一般矩陣乘積。若A爲m×n矩陣,B爲n×p矩陣,則他們的乘積

原创 操作系統-實驗2

#include <stdio.h> #include <stdlib.h> struct node { int pid;//進程id號 int prio;//進程優先級 int runtime;//進程運行的時間 int

原创 條件編譯

這幾個宏是爲了進行條件編譯。一般情況下,源程序中所有的行都參加編譯。但是有時希望對其中一部分內容只在滿足一定條件才進行編譯,也就是對一部分內容指定編

原创 iic系列問題

面試的時候主要會遇到的IIC問題如下 介紹一下你瞭解的I2C? I2C總線是飛利浦(PHLIPS)公司推出的一種串行總線,用於連接微控制器及其外圍設備, I2C串行總線有兩根雙向信號線。一根是數據線SDA,另一根是時鐘線SCL。 它僅通

原创 起自TCP三次握手

說到TCP協議,相信大家都比較熟悉了,對於TCP協議總能說個一二三來,但是TCP協議又是一個非常複雜的協議,其中有不少細節點讓人頭疼。本文就是來說說這些頭疼點的,淺談一些TCP的疑難雜症。那麼從哪說起呢?當然是從三次握手和四次揮手說起啦