親屬計算規則演算法 js實現 關鍵演算法摘要

2021-09-03 02:43:30 字數 1515 閱讀 1145

在github上找個乙個比較好的計算親屬關係的演算法,核心**如下:

!function (root, factory) else

}(typeof window !== 'undefined' ? window : this,function (),,,

/* 兄弟姐妹 */,,

,,,,

,,,/* 父母 */,,

,/* 父母的子女 */,,

,,,,

,,/* 孩子 */,,

,,,,

/* 夫妻 */,,

,,,,

,,];//關係資料

//語法說明:

//【關係】f:父,m:母,h:夫,w:妻,s:子,d:女,xb:兄弟,ob:兄,lb:弟,xs:姐妹,os:姐,ls:妹

//【修飾符】 1:男性,0:女性,&o:年長,&l:年幼,#:隔斷,[a|b]:並列

var _data = ;

//陣列去重

var unique = function(arr) ;

var item;

for (var i = 0; (item = arr[i]) != null; i++)

}return result;

};//分詞解析

function getselectors(str)/g,'x');

var lists = str.split('的');

var result = ; //所有可能性

var match = true;

while(lists.length)

has = true;}}

if(!has)

if(result.length)

if(selector.match(/,[w0],w|,[h1],h/))

var getid = function(selector)else if(id.indexof('&l')>-1)

if(id)

return arr.join(',')+age;

}return '';

}//獲取關係鏈條

function getchainbyid(id)

return items.join('的');

}return (function (parameter);

for (var p in parameter)

var selectors = getselectors(options.text);

// console.log('selectors#',selectors);

var result = ; //匹配結果

for(var i = 0;i}else

var items = getdatabyid(id);

if(items.length)else if(id.indexof('w')==0||id.indexof('h')==0)}}

}}return unique(result);

});});

js實現kmp演算法 js實現KMP演算法,淺顯易懂

開始 首先,kmp演算法是用來幹什麼的?用來匹配字串,如果匹配,返回索引值。其次,為什麼要用kmp演算法?因為能簡化時間複雜度 廢話,演算法都是用來提公升效率的 然後,kmp演算法是以什麼方式簡化時間複雜度的?一般我們匹配字串可以用正規表示式,或者拿這個字串與目標字串乙個個比較,那麼就有乙個問題,如...

關聯規則 Apriori演算法實現

coding utf 8 from future import print function import pandas as pd 自定義連線函式,用於實現l 到c k的連線 def connect string x,ms x list map lambda i sorted i.split ms...

排序演算法 JS實現

原文引用自這裡,這裡只是我自己的學習的補充以及筆記 時間複雜度,o n2 var arr 5,6,3,1,8,7,2,4 function insertsort arr else return arr console.log insertsort arr 時間複雜度,o n2 var arr 5,1...