演算法導論15.2-1

  計算常式,很簡單.遞迴地完成,就可以了.介面部分可能略複雜,但足夠簡便.是很好的實現方式.// matrixChainOrder.cpp -- 2011-06-12-10.27//Complete at 2011-06-14-00.27#include "stdafx.h"#include <iostream>#include "matrix.h"const int INFINITY = ~(1 << 31) ;int _tmain(int argc, _TCHAR*

演算法導論14.3-3

  呵呵.單獨開個文章,純屬廣告啊.不過,內容倒是貨真價實的.Node * Search (const Item min, const Item max) ;Node * IntervalTree :: m_Search (Node * pn) const{Node * pMinMin ; if (pn) { if (pn -> left && pn -> left -> maxOfAll >= m_min)

多行文字垂直置中

這星期跟置中糾纏不清~ 吼吼~問題:一個div的高度一定,其中的文字行數不確定,可能是一行也可能是多行,要求文字始終垂直置中在div中這個時候,line-height已經不能滿足要求了,找了很久,貌似只能用table類比了<div class="slideGridDes"><div><p>WEEKLY SPECIAL SALE!</p><p>2013 Voltage Toy

動態規劃–尋找最佳矩陣乘法次序

  這個問題,4個月之前接觸過,當時實在實在是沒有搞出來.哪怕就是計算出最小的相乘次數都沒有.當時覺得,數學底子太薄了,很難糾結出來答案.這次呢,數學稍微補了一些,感覺應該解決這個問題了.關於列出遞迴式,是非常關鍵的,代碼都是圍繞這些來寫的.寫不出這個東西,理解不了這個東西,很難寫出來的.至於後來的列印順序,經過了一小翻周折,才搞定了.只是至於最後的實際運算,並沒有去做.留給以後去實現吧. 

絕對位置水平置中

當一個DIV的position屬性為absolute時,它已經脫離了文檔流,margin: 0 auto;規則已經無效,不能讓它水平置中了,實現置中兩種方法:①當要置中的DIV寬度一定時可用:left: 50%; margin-left: -(DIV寬度)/2; 來解決;②當要置中的DIV的寬度不確定的情況下可用:left: 50%; (置中DIV的父DIV)left: -50%;

演算法導論14.3-7

  HOHO~~.話說好久沒有長時間地鑽研演算法問題了,這次鑽研了好幾道,寫出來了.感覺非常不錯.而且,網吧旁邊沒有人,想寫什麼就寫什麼,哈哈. 

動態規劃–裝配線調度問題

  不想多說,關於這個.遺憾的是,沒能夠按照正序輸出選擇.只是算出了最小的代價.不著急,不久後會的.// fastWay.cpp -- 2011-06-07-16.19#include "stdafx.h"#include <iostream>const char STATION_ONE = '1' ;const char STATION_TWO = '2' ;int fastestWay (int * * costOfProcess, int * * costOfMovement,

演算法導論15.4-3

  動態規劃的備忘錄方法.這是我第一次使用備忘錄方法,說白了就是遞迴地調用,之後保留一個表,導致沒有重複的調用出現.很不錯.// memoizedLCSLenth.cpp -- 2011-06-18-02.57#include "stdafx.h"#include <iostream>#include <cstring>const int EMPTY = -1 ;void LCSLenth (const char * const strA, const char *

演算法導論22.1-3

  轉置鄰接表表示的無向、有向圖.沒有給出標頭檔,因為考慮到最近的標頭檔經常要append一些新東西,所以現在不給出來了.  實現的時候用了位操作的方法,目的是標記.避免了V^2的空間浪費.當然了,只能應對整型的資料了.其實對浮點型應該也是可以的,但是位操作就不是這樣的了.也是可以實現的.  代碼很簡單,貼出來.void GraphRepresentAsAdjacentMatrix ::transpose (void){if (m_currentSize < m_size){std

演算法導論22.1-6

  找到一個矩陣標記法的有向無權圖中的"匯",定義為,入度為|V| - 1,出度為0的頂點.這樣的頂點,一個圖中只能有一個.或者沒有.這個問題,是以前沒有接觸過的,覺得很有用,所以去寫了下.  起初寫的東西,很糟糕.我給帶出來了,起初的想法,孩子一樣純真.確實效率不高.而且浪費空間.答案給的實現,更多地利用了矩陣的特點.而且從問題的定義出發,邏輯也不難.很不錯.  而且,自覺地注釋自己寫得也不錯,都是最近<<代碼大全2>>帶給我的.非常感激大藍哥.. 

演算法導論14.3-4

找出所有符合區間條件的結點,並返回這樣的結點的個數.很簡單,中序遍曆就可以了.int SearchAll (const Item min, const Item max) ;int IntervalTree :: m_SearchAll (const Node * const pn){static int count = 0 ;if (pn){if (pn -> left && m_min <= pn -> left ->

動態規劃–最長公用子序列

  還是動態規劃.還是動態規劃.寫出來了,比較順手.// LCSLenth.cpp -- 2011-06-17-23.05#include "stdafx.h"#include <iostream>#include <cstring>enum {Direction_Left, Direction_Up, Direction_TopLeft} ;char * * LCSLenth (const char * const strA, const char * const

演算法導論15.4-4

(min (m, n))空間求出最長公用子序列的長度.這個問題琢磨了好久,終於還是睾出來了.   實現的思想就是,從兩個串中選出一個較長的串.用另外一個串的所有,同較長串的當前值比較.只記錄最大的長度,最終完成.   說的,比較簡單.研究過程,還算一般.全下來大約4小時.是慢還是快?貌似很慢啊,希望自己今後養成高速解決問題的習慣吧.   還有啊,網吧是在是太吵了...  // 15-4-4.cpp -- 2011-06-18-15.33// Completeed at 2011-06-19-10

3排序

  這個是緊接著的下一道題.發現了,其實,隨著資料種類多起來,分塊也就多了,這也正是快速排序的來曆吧.還有呢,就是,隨著資料多起來,也就是會重複的情況下,也就會出現array[i] == array[j] == array[pivot]的時候,那樣我這段代碼的主迴圈也就無法運行了.於是,在median3 () 函數中先要將兩頭排好序, 以便在主迴圈中安全地使用首碼自增運算子.  這本書裡的練習題感覺不錯,只是演算法分析的題做著比較吃力,相信隨著數學的學習,情況會好起來吧!  貼上代碼,呵呵./*

2排序

  就是數組中資料要麼是這個, 要麼是那個.不錯的思想,貌似簡單,其實不學不可能會.  我覺得寫遊戲的時候會派上用場.例如,兩個幫派群P,之後分組.你說呢?呵呵. /*7-31-11-26-22.22.c -- 第七章第三十一題*/#include <stdio.h>#define SIZE 21#define FALSE 0#define TRUE 2int main (void) ;void print_array (const int * const array, const

Treap樹非遞迴插入

  用顯示的棧實現插入,完成非遞迴的插入.  這網吧的破顯示器太爛了....自己小調了下,呵呵.  棧好久不寫了,冷不丁一寫,還真是遇到了問題.不過還好,現在搞清楚了.  好了,貼吧./*12-17-11-03-28-18.49.c -- 第十二章第十七題*/#include <stdio.h>#include <stdlib.h>#include "treapTree.h"TreapTree Insert_T (TreapTree tt, const Item

K個有序鏈表共N個結點在O(NlgK)時間合并為一個新的有序鏈表實現檔案C語言

先是在 main () 函數中構造輸入.之後調用主常式解決問題.可以看到,主常式是相當精妙的.這當然是需要前面資料結構的正確./*MergeQueue.c -- O (NlogK) 時間將K個有序隊列合并為一個新有序隊列*/#include "Queue.h"#include "PriorityQueue.h"#define SIZE (5)int main (void) ;BOOL merge (const Queue * const array, const int number,

演算法導論14.3-6

  這個問題是,這樣的.N個正整數,找出其中兩個數的差中最小的非負差.  用到了一種資料結構,是從二叉樹擴張而來的.我給起了個名字,近親樹...呵呵.  說到底,這個問題,體現出來的就是,資料結構的擴張,利用資料結構,解決問題.真的很好.  嗯.不多說了,關鍵的部分在其餘的兩個檔案裡,這個是驅動常式檔案.// Ata14.3-6.cpp -- 2011-06-03-0.07#include "stdafx.h"#include "nearTree.h"#include <iostream&

原始碼修改-IOperateSource

using System;using System.Collections.Generic;using System.IO;using System.Text;namespace 原始碼修改{    //  將字串寫入文檔    public class WriteDocument : IOperateDocument    {        private StreamWriter writer;        private Dictionary<int, string>

演算法導論10.2-8C語言

  只用一個指標實現雙鏈表.這道題,我按照我的思路寫出來了.之前搜尋了下,沒有搜尋到關於這道題的答案,於是一改以往作風,直接用題號作了標題,希望能被搜尋到,呵呵.  每個結點,只儲存前後指標值的異或值.這樣的話,只要知道前後任何一個結點的地址,就可以獲得相反方向結點的地址,我用了一個全域變數來跟蹤上一個結點的地址.這樣,在執行完 Find_L () 之後,便可以實現向前或者向後的遍曆,這樣一來,是可以實現雙向鏈表應有的功能的. 

總頁數: 61357 1 .... 18230 18231 18232 18233 18234 .... 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.