1. 程式人生 > >圖說子圖同構演算法——VF2演算法(一)

圖說子圖同構演算法——VF2演算法(一)

寫在前面的話

謹以此係列獻給 my grandpa~

體驗過人間的無常,才知道愛才是寶藏

像孩子依賴著肩膀
像詩人依賴月亮
像眼淚依賴臉龐

你就是我的天使
給我依賴的天使

1.Let us play VF2 algorithm

1.1一些宣告

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

1.2你必需知道的事情

這裡寫圖片描述

這裡寫圖片描述

雖然子圖的同構問題沒有圖的同構問題要求這麼嚴,圖的同構必須要求結點的度必須相同,否則不同構。

如果在一個圖中某個節點的度大於要匹配的圖形的或者是它的子圖,這樣是不可能找到子圖和它同構的,因為它本身根本構建不出這麼大的度。

子圖同構是圖的同構中的一種,至少有些該滿足的還是要滿足。

這裡寫圖片描述

1.3 演算法處理

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

如果點已經全部用完,那麼匹配的部分就是我們的子圖同構的部分。

相關推薦

演算法之陣列】求陣列最大和的解決方法詳解

題目: 輸入一個整形陣列,數組裡有正數也有負數。 陣列中連續的一個或多個整陣列成一個子陣列,每個子陣列都有一個和。 求所有子陣列的和的最大值。 例如輸入的陣列為1, -2, 3, 10, -4, 7, 2, -5,和最大的子陣列為3, 10, -4, 7, 2, 因此

像中的傅立葉變換

cos matrix 含義 變換 思考 計算機視覺 處理 例子 導出 關於傅立葉變換,知乎上已經有一篇很好的教程,因此,這篇文章不打算細講傅立葉的物理含義,只是想從圖像的角度談一談傅立葉變換的本質和作用。 本文假設讀者已經熟知歐拉公式: \[ e^{j\pi x}=\cos

elas演算法原始碼賞析:PGM格式圖片的讀取和儲存

image.h原始碼 來說說標頭檔案 pgm格式 簡約筆記 // basic image I/O, based on Pedro Felzenszwalb's code #ifndef IMAGE_H #define

資料結構與演算法——單鏈表

單鏈表的頭插法,插入時就是逆序。 InsertList()還不完善。 #include<stdio.h> #include<stdlib.h> #define ERROR 0 #define OK 1 typedef int Status ; typedef int

資料結構與演算法——線性表

#include <stdio.h> #include <stdlib.h> #define LIST_INIT_SIZE 200 #define LISTINCREASE 10 #define ERROR 0 #define OK 1 typedef int Elemt

[演算法天天見]基礎排序

基礎排序 一、說明 二、演算法 氣泡排序 插入排序 選擇排序 一、說明 演算法開篇,今後將會不定期更新。 演算法最基礎的就是排序,而排序中最基礎的要屬冒泡、插入和選擇排序了,由於它們的時間複雜度都是 O

演算法是什麼陣列的演算法記錄

演算法是什麼(一)陣列的演算法記錄   liuyuhang原創,未經允許禁止轉載     從入門一個一個來吧,先說陣列的演算法:   1、求極值   int[] arr01 = { 1, 3, 5, 76, 23, 44

OpenCV下車牌定位演算法實現程式碼

             分類:            影象處理

演算法學習筆記

演算法筆記(一) 一 什麼是正確的回答一個演算法問題 回答一個演算法問題,並不是一下子回答出來一個解決方案,而應該是和麵試官探討的過程,在探討過程中逐漸選擇一個最優方案 對一組資料進行排序 這組資料有什麼樣的特徵? 有沒有包含大量重複的元素?

面試題之演算法面試題

問題: 1. 輸入一個個數較大的正整數陣列[數字範圍在0~9999],將部分陣列元素的十進位制表示連線起來排成一個數,輸出能排出的所有數字中最大的一個。find例如輸入陣列{3423,33,456,9,8,7,21}和3,則輸出的最大數為:456342333。 要求: (1) 輸出數字用

字串筆試題-演算法筆試筆記

1.前言 做了好幾家公司的筆試程式設計題,其中涉及到了很多字串的題,有做出來的也有沒做出來後來上網學習大佬的程式碼的(有的還涉及到了最優解),於是在這裡記錄一下,加深自己的印象,題目是憑藉的回憶,解決方法多數是參考的網路上其他的大佬。 2.字串筆試題 騰訊筆試程式設計題

C++及影象演算法基礎知識

PS:為了面試準備的,總結的有點粗糙。 1.receptive field:感受野 在卷積神經網路CNN中,決定某一層輸出結果中一個元素所對應的輸入層的區域大小,被稱作感受野 左圖:如果只看特徵圖,我們無法得知特徵的位置(即感受野的中心位置)和區域大小(即感

極客講堂之資料結構與演算法之美:複雜度分析

(本文根據極客講堂——資料結構與演算法之美專欄的問答區整理修改而成,如有侵權還希望聯絡我鴨~) 一、什麼是複雜度分析? 1.資料結構和演算法解決是“如何讓計算機更快時間、更省空間的解決問題”。 2.因此需從執行時間和佔用空間兩個維度來評估資料結構和演算法的效能。 3.分別

演算法趣題

1. 迴文十進位制數 問題描述:求十進位制、二進位制、八進位制表示都是迴文數的所有數字中,大於10的最小數值。例如:9(十進位制數)= 1001(二進位制數)= 11(八進位制數),這樣的數字,但要找到

圖解演算法學習筆記: 演算法簡介

本章內容:     編寫第一種查詢演算法——二分查詢。     學習如何談論演算法的執行時間——大O表示法。 1) 演算法是一組完成任務的指令,任何程式碼片段都可視為演算法。 2)二分查詢:一種查詢演算法,其輸入是一個有序的元素列表。 Python實現二分查詢程式碼:

【機器學習】資料探勘演算法——關聯規則,相關概念,評價指標

綜述:        資料探勘是指以某種方式分析資料來源,從中發現一些潛在的有用的資訊,所以資料探勘又稱作知識發現,而關聯規則挖掘則是資料探勘中的一個很重要的課題,顧名思義,它是從資料背後發現事物之間可能存在的關聯或者聯絡。 關聯規則的目的在於在一個數據集中找出項之間的關

資料結構與演算法學習總結

1.什麼是資料結構和演算法 資料結構,就是一組資料的儲存結構。演算法,就是操作資料的一組方法。資料結構是為演算法服務的,演算法要作用在特定的資料結構之上。 2.為什麼要學習資料結構和演算法? (1)對個人:資料結構和演算法是程式設計師的必修課程之一,能幫助我們寫出效能更

演算法精解:C語言描述連結串列

1.連結串列認知  一場病,斷了好久。這幾天算是基本沒什麼問題了。是時候繼續了。 連結串列我想可以認為是,點到線的過程。 一個個點就是一個個連結串列的節點,以特定的順序組合或連結後,行成了一條線,即連結串列。所以新增,刪除一個點是相對較容易的(因為可以動態的追加,刪除節點),但

玩轉演算法面試:什麼是演算法面試?

前言 對於面試中遇到的大多數問題 都能有一個合理的思考路徑 溝通: 邊界條件是怎樣的? 資料範圍如何? 某些術語是具體如何定義的? 基礎資料結構 演算法設計思想: 遞迴分治 貪心 動態規劃 回溯搜尋 LeetCode 3 Longest Subst

EM演算法及其推廣

EM演算法是個什麼東東 EM演算法(Expectation-maximization algorithm 期望最大化演算法),是一種迭代演算法,用於含有隱變數的概率模型引數的極大似然估計,或極大後驗概率(事情已經發生,求這件事情發生的原因是由某個因素引起的可能性的大小)估計。 拆解一