亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? path.c

?? 經典的層次聚類算法Birch。在linux下運行通過
?? C
字號:
/****************************************************************File Name: path.C Author: Tian Zhang, CS Dept., Univ. of Wisconsin-Madison, 1995               Copyright(c) 1995 by Tian Zhang                   All Rights ReservedPermission to use, copy and modify this software must be grantedby the author and provided that the above copyright notice appear in all relevant copies and that both that copyright notice and this permission notice appear in all relevant supporting documentations. Comments and additions may be sent the author at zhang@cs.wisc.edu.******************************************************************/#include "global.h"#include "util.h"#include "vector.h"#include "rectangle.h"#include "parameter.h"#include "cfentry.h"#include "status.h"#include "path.h"#include "cftree.h"#include "cutil.h"Path::Path(int size) {	height = size;	stacktop = -1;	indexstack = new int[size];	nodestack = new Node*[size];	}void Path::Push(int index, Node* node) {	stacktop++;	indexstack[stacktop]=index;	nodestack[stacktop]=node;	}void Path::Pop(int &index, Node** node) {	index=indexstack[stacktop];	*node=nodestack[stacktop];	stacktop--;	}Entry* Path::TopLeafEntry() const {if (stacktop==height-1)	return nodestack[stacktop]->TheEntry(indexstack[stacktop]);else return NULL;}Node* Path::TopLeaf() const {if (stacktop==height-1) 	return nodestack[stacktop];else return NULL;}void Path::operator=(const Path& path) { height = path.height;  stacktop = path.stacktop;  memcpy(indexstack, path.indexstack, height*sizeof(int));  memcpy(nodestack, path.nodestack, height*sizeof(Node *));  }short Path::operator==(const Path& path){ if (height!=path.height) return FALSE;  if (stacktop!=path.stacktop) return FALSE;  for (int i=0; i<height; i++) 	if (indexstack[i]!=path.indexstack[i])	    return FALSE;  return TRUE;}short Path::operator>(const Path& path){ for (int i=0; i<height; i++) { 	if (indexstack[i]>path.indexstack[i]) 		return TRUE;	if (indexstack[i]<path.indexstack[i])		return FALSE;	}	  return FALSE;}short Path::operator<(const Path& path){ for (int i=0; i<height; i++) {	if (indexstack[i]<path.indexstack[i])		return TRUE;        if (indexstack[i]>path.indexstack[i])		return FALSE;	}  return FALSE;}short Path::NextRightPath() {while (stacktop>=0 &&        indexstack[stacktop]+1>=nodestack[stacktop]->actsize) 	stacktop--;if (stacktop<0) return FALSE;else {   indexstack[stacktop]++;   while (stacktop<height-1) {	nodestack[stacktop+1]=nodestack[stacktop]->TheChild(indexstack[stacktop]);	indexstack[stacktop+1]=0;	stacktop++;	}   return TRUE;   }}Node* Path::NextRightLeafFreeSpace(Stat *Stats){delete nodestack[stacktop]; Stats->MemUsed--; stacktop--;while (stacktop>=0 &&        indexstack[stacktop]+1>=nodestack[stacktop]->actsize) {	    delete nodestack[stacktop]; 	    Stats->MemUsed--; 	    stacktop--;	    }if (stacktop<0) return NULL;else {   indexstack[stacktop]++;   while (stacktop<height-1) {	nodestack[stacktop+1]=	    nodestack[stacktop]->TheChild(indexstack[stacktop]);	indexstack[stacktop+1]=0;	stacktop++;	}   return nodestack[stacktop];   }}short Path::CollectSpace(Stat *Stats){nodestack[stacktop]->DeleteEntry(indexstack[stacktop]);while (stacktop>0 && nodestack[stacktop]->actsize==0) {	nodestack[stacktop]->AssignNextPrev(Stats);    	delete nodestack[stacktop]; 	Stats->MemUsed--; 	Stats->TreeSize--;    	stacktop--;    	nodestack[stacktop]->DeleteEntry(indexstack[stacktop]);    	}if (indexstack[stacktop]<nodestack[stacktop]->actsize) {   while (stacktop<height-1) {	nodestack[stacktop+1]=		nodestack[stacktop]->TheChild(indexstack[stacktop]);	indexstack[stacktop+1]=0;	stacktop++;	}   return TRUE;   }else {    while (stacktop>=0 && 	  indexstack[stacktop]+1>=nodestack[stacktop]->actsize)	  stacktop--;   if (stacktop==-1) return FALSE;   else {	if (indexstack[stacktop]+1<nodestack[stacktop]->actsize) {	   indexstack[stacktop]++;           while (stacktop<height-1) {		nodestack[stacktop+1]=nodestack[stacktop]->TheChild(indexstack[stacktop]);		indexstack[stacktop+1]=0;		stacktop++;		}	   return TRUE;	   }        else return FALSE;        }   }}void Path::TakeoffPath(const Entry &ent){for (int i=0; i<height; i++) 	nodestack[i]->SubEntry(indexstack[i],ent);}void Path::InsertLeaf(Stat *Stats, Node *Root){int i;Node *tmpnode=Root;for (i=0; i<height; i++) {	if (indexstack[i]>=tmpnode->actsize) break;	else tmpnode=tmpnode->TheChild(indexstack[i]);	}tmpnode->actsize++;while (i<height-2) {	tmpnode->NewNonleafChildI(Stats,indexstack[i]);	Stats->MemUsed++; Stats->TreeSize++;	tmpnode=tmpnode->TheChild(indexstack[i]);	tmpnode->actsize=1;	i++;	}tmpnode->NewLeafChildI(Stats,indexstack[i]);Stats->MemUsed++; Stats->TreeSize++;tmpnode=tmpnode->TheChild(indexstack[i]);tmpnode->actsize=0;tmpnode->ChainNextPrev(Stats);}Path::~Path() {	if (indexstack!=NULL) delete [] indexstack;	if (nodestack!=NULL) delete [] nodestack;	}ostream& operator<<(ostream &fo,const Path& path){ int i;for (i=0; i<path.height; i++) 	fo << path.indexstack[i] << "\t";fo << endl;return fo;}ofstream& operator<<(ofstream &fo,const Path& path){ int i;for (i=0; i<path.height; i++) 	fo << path.indexstack[i] << "\t";fo << endl;return fo;}void Path::AddonPath(Stat *Stats, const Entry &ent, Node *Root){Node *tmpnode=Root;int i;for (i=0; i<height-1; i++) {	tmpnode->AddEntry(indexstack[i],ent);	tmpnode=tmpnode->TheChild(indexstack[i]);	}if (indexstack[height-1]<tmpnode->actsize) {	tmpnode->AddEntry(indexstack[height-1],ent);	}else {	Stats->CurrEntryCnt++;	tmpnode->AttachEntry(ent,NULL);	}}void Path::AddonLeaf(Stat *Stats, const Entry &ent, Node *Root){Node *tmpnode=Root;int i;for (i=0; i<height-1; i++) {	tmpnode->AddEntry(indexstack[i],ent);	tmpnode=tmpnode->TheChild(indexstack[i]);	}Stats->CurrEntryCnt++;tmpnode->AttachEntry(ent,NULL);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区免费在线观看| 亚洲自拍与偷拍| 色婷婷国产精品| 蜜桃视频在线观看一区| 最新欧美精品一区二区三区| 日韩欧美中文一区二区| 91视频观看视频| 国产一区二区精品在线观看| 亚洲国产精品一区二区尤物区| 国产三区在线成人av| 欧美另类一区二区三区| 91蜜桃视频在线| 国产精品中文字幕日韩精品| 三级久久三级久久| 一区二区高清视频在线观看| 中文一区二区在线观看| 欧美精品一区二区在线观看| 欧美老女人在线| 欧美性欧美巨大黑白大战| 99精品国产热久久91蜜凸| 国产一二精品视频| 久久狠狠亚洲综合| 日韩精品高清不卡| 亚洲一二三四在线观看| 亚洲少妇30p| 亚洲欧美中日韩| 中文字幕一区二区三区在线播放| 欧美精品一区二区三| 精品对白一区国产伦| 日韩欧美在线1卡| 在线播放亚洲一区| 91精品国产综合久久精品图片| 欧美亚洲一区二区在线| 欧美中文一区二区三区| 欧美优质美女网站| 欧美亚洲丝袜传媒另类| 色吧成人激情小说| 欧美三级三级三级爽爽爽| 在线欧美一区二区| 欧美三级日韩在线| 欧美久久久久久久久久| 91精品午夜视频| 日韩一级黄色片| 久久影视一区二区| 亚洲国产成人在线| 自拍偷拍欧美精品| 亚洲一区二区在线观看视频| 亚洲综合成人在线视频| 亚洲成人三级小说| 日韩精彩视频在线观看| 久久精品理论片| 国产精品白丝av| 91免费视频网址| 欧美在线视频你懂得| 欧美狂野另类xxxxoooo| 欧美电影免费提供在线观看| 久久久精品日韩欧美| 国产精品久久久久久久久免费相片| 国产精品福利一区二区三区| 亚洲精品国产精品乱码不99| 五月天久久比比资源色| 青青草国产精品亚洲专区无| 国产精品一区二区91| 99久久99久久久精品齐齐| 在线观看亚洲精品视频| 制服丝袜亚洲网站| 久久免费视频色| 成人欧美一区二区三区小说 | 亚洲欧美激情小说另类| 亚洲亚洲精品在线观看| 免费看精品久久片| 丰满少妇在线播放bd日韩电影| 91亚洲国产成人精品一区二三 | 极品美女销魂一区二区三区| 成人99免费视频| 欧美群妇大交群的观看方式| 欧美变态口味重另类| 亚洲欧美色综合| 理论片日本一区| 91免费版在线| 欧美videossexotv100| 国产精品毛片大码女人| 日韩电影免费一区| 不卡视频在线看| 欧美一区二区三区四区五区 | 在线播放91灌醉迷j高跟美女 | 久久久综合视频| 一区二区三区蜜桃| 国产精品影视在线观看| 欧美在线免费视屏| 久久久国产精品麻豆| 午夜视频在线观看一区| 国产成人在线网站| 91麻豆精品国产综合久久久久久| 日本一区二区成人| 毛片av一区二区| 91老师片黄在线观看| 2020国产精品| 天天av天天翘天天综合网色鬼国产| 成人动漫一区二区| 日韩精品一区二区三区蜜臀 | 亚洲福利电影网| 成人午夜激情影院| 精品久久久久av影院| 亚洲一二三区不卡| 色综合天天性综合| 久久久av毛片精品| 美脚の诱脚舐め脚责91| 欧美人体做爰大胆视频| 亚洲免费av高清| www.亚洲免费av| 久久精品日产第一区二区三区高清版 | 久久久久88色偷偷免费| 蜜臀av性久久久久蜜臀aⅴ| 91蜜桃在线免费视频| 国产欧美精品在线观看| 久久国产婷婷国产香蕉| 日韩一区二区三区视频在线| 亚洲五码中文字幕| 色婷婷精品久久二区二区蜜臂av| 亚洲国产精品成人综合色在线婷婷 | 欧美丰满少妇xxxbbb| 亚洲午夜久久久久久久久电影院| 99re热这里只有精品免费视频| 国产日韩欧美激情| 国产激情91久久精品导航| 欧美精品一区二区三区蜜臀| 麻豆91在线看| 精品国产伦一区二区三区免费| 奇米精品一区二区三区在线观看一| 欧美视频在线观看一区二区| 一区二区三区视频在线观看| 色综合久久久久久久久| 亚洲色图一区二区| 色婷婷亚洲婷婷| 亚洲一区二区在线播放相泽| 欧美日韩情趣电影| 日本aⅴ精品一区二区三区| 91麻豆精品国产91久久久更新时间| 日韩在线a电影| 日韩一级高清毛片| 国产精品一色哟哟哟| 国产视频一区在线播放| 不卡av在线网| 亚洲精品五月天| 欧美日韩大陆在线| 美女爽到高潮91| 久久久精品人体av艺术| www.欧美色图| 亚洲日本va午夜在线电影| 欧美三级中文字幕在线观看| 日本成人在线看| 国产日本欧美一区二区| 99re这里都是精品| 亚洲五码中文字幕| 欧美一级黄色大片| 国产一区二区h| 综合自拍亚洲综合图不卡区| 欧美亚洲尤物久久| 久久成人麻豆午夜电影| 中文字幕av不卡| 欧美体内she精高潮| 另类调教123区| 国产精品二三区| 欧美日韩激情一区二区| 精品夜夜嗨av一区二区三区| 国产精品色一区二区三区| 91传媒视频在线播放| 蜜桃传媒麻豆第一区在线观看| 久久久激情视频| 欧美日韩三级在线| 国产资源在线一区| 亚洲色欲色欲www在线观看| 制服.丝袜.亚洲.另类.中文| 丁香六月综合激情| 亚洲成人福利片| 国产婷婷色一区二区三区四区 | 久久久精品中文字幕麻豆发布| 色综合中文字幕国产 | 国产精品香蕉一区二区三区| 亚洲一区二区三区在线| 精品国产成人系列| 色综合久久综合中文综合网| 久久成人免费网站| 一区二区成人在线观看| 国产亚洲精品中文字幕| 制服丝袜一区二区三区| 色综合色综合色综合 | 国产成人精品午夜视频免费| 亚洲电影视频在线| 亚洲国产精品二十页| 欧美一级欧美三级| 91啦中文在线观看| 国产老妇另类xxxxx| 偷拍亚洲欧洲综合| 亚洲精品中文在线影院| 国产日韩视频一区二区三区| 9191国产精品| 欧美色视频一区| 91色.com|