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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? heap.c

?? 貝葉斯學(xué)習(xí)算法分類文本。基于樸素貝葉斯分類器的文本分類的通用算法
?? C
字號(hào):
/* Implementation of the ?? heap for the bow library *//* Copyright (C) 1997 Andrew McCallum   Written by:  Sean Slattery <slttery@cs.cmu.edu>   This file is part of the Bag-Of-Words Library, `libbow'.   This library is free software; you can redistribute it and/or   modify it under the terms of the GNU Library General Public License   as published by the Free Software Foundation, version 2.      This library is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   Library General Public License for more details.   You should have received a copy of the GNU Library General Public   License along with this library; if not, write to the Free Software   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA */#include <bow/libbow.h>/* Some HEAP thingys */#define PARENT(i) ((i) / 2)#define LEFT(i) (2 * (i))#define RIGHT(i) (2 * (i) + 1)/* We index from 1->length - do the translation back to 0-(length-1) here */#define HEAP_ELT(i) (heap->entry[i-1])#define HEAP_KEY(i) (HEAP_ELT(i).current_di)#define HEAP_WI(i)  (HEAP_ELT(i).wi) /* Return true if a belongs higher up the heap than b. For a Max Heap the   compare should be >=, and for a Min Heap it should be <= */#define HEAP_CMP(a,b) ((a) < (b))/* Comparing the wi's mean we get the words out in order from lowest to    highest. */#define HEAP_HIGHER(a,b) (HEAP_CMP(HEAP_KEY(a), HEAP_KEY(b)) || ((HEAP_KEY(a) == HEAP_KEY(b)) && (HEAP_WI(a) < HEAP_WI(b))))/* Function to turn an array of bow_dv_heap_elements into a proper heap */voidbow_heapify(bow_dv_heap *heap, int i){  int l, r, highest;  bow_dv_heap_element tmp;  l = LEFT(i);  r = RIGHT(i);  if ((l <= heap->length) &&       HEAP_HIGHER(l, i))    highest = l;  else    highest = i;  if ((r <= heap->length) &&       HEAP_HIGHER(r, highest))    highest = r;  if (highest != i) {    tmp = HEAP_ELT(i);    HEAP_ELT(i) = HEAP_ELT(highest);    HEAP_ELT(highest) = tmp;    /* Need to recurse to fix the subtree */    bow_heapify (heap, highest);  }}/* Function to create a heap of the vectors of documents associated   with each word in the word vector. */bow_dv_heap *bow_make_dv_heap_from_wv (bow_wi2dvf *wi2dvf, bow_wv *wv){  int wv_index;			/* an index into the "word vector" */  int heap_index;		/* an index into the heap we are creating */  int wi, i;  bow_dv_heap *heap;  bow_dv *dv;  heap = bow_malloc (sizeof (bow_dv_heap) 		     + (sizeof (bow_dv_heap_element) 			* (wv->num_entries)));  /* Dump all the elements into the heap */  heap_index = 0;  for (wv_index = 0; wv_index < wv->num_entries; wv_index++)    {      /* Get the word index */      wi = wv->entry[wv_index].wi;        /* Now fetch the list of documents associated with this word */      /* Use this function instead of accessing the wi2dvf->entry	 directly because the dv may need to be read from a file. */      dv = bow_wi2dvf_dv (wi2dvf, wi);      if (!dv)	continue;      heap->entry[heap_index].dv = dv;      assert (dv->idf == dv->idf); /* Check for NaN */      heap->entry[heap_index].wi = wi;      heap->entry[heap_index].index = 0;      heap->entry[heap_index].current_di = dv->entry[0].di;      heap_index++;    }  /* Initialise the heap */  heap->length = heap_index;  /* Now need to make this baby into a heap. We'll use i to index into     a conceptual array with indices 1..length and convert those     references to index an array of 0..(length-1) when required. */  for (i = (heap->length)/2; i > 0; i--)     bow_heapify (heap, i);  return heap;}/* Function to take the top element of the heap - move it's index along and   place it back in the heap. */voidbow_dv_heap_update (bow_dv_heap *heap){  bow_dv_heap_element *top = &(heap->entry[0]);  /* Increment the index */  (top->index)++;  /* Check to make sure we have elements left to look at */  if (top->index < top->dv->length)     {      top->current_di = top->dv->entry[top->index].di;      /* Heapify!! */      bow_heapify (heap, 1);    }  else    {      /* Here we draft in the end of the heap and Heapify */      heap->entry[0] = heap->entry[(heap->length) - 1];      (heap->length)--;      bow_heapify (heap, 1);    }}/* Function to make a heap from all the vectors of documents in the big   data structure we've built - I hope it all fits.... */bow_dv_heap *bow_make_dv_heap_from_wi2dvf(bow_wi2dvf *wi2dvf){  int wi;			/* a "word index", index into WI2DVF */  int max_wi;			/* the highest "word index" */  int hi;			/* a "heap index", an index into the heap */  bow_dv_heap *heap;		/* what we are creating and returning */  bow_dv *dv;  max_wi = MIN (wi2dvf->size, bow_num_words ());  heap = bow_malloc (sizeof (bow_dv_heap) 		     + (sizeof (bow_dv_heap_element) * (max_wi)));  /* Dump all the vectors of documents into the array */  hi = 0;  for (wi = 0; wi < max_wi; wi++)    {      dv = bow_wi2dvf_dv (wi2dvf, wi);      if (dv)	{	  heap->entry[hi].dv = dv;	  heap->entry[hi].wi = wi;	  heap->entry[hi].index = 0;	  heap->entry[hi].current_di = dv->entry[0].di;	  /* xxx It would be nice to check for values too high, also.*/	  assert (dv->entry[0].di >= 0);	  hi++;	}    }  /* Initialise the Heap */  heap->length = hi;  for (hi = (heap->length)/2; hi > 0; hi--)     bow_heapify (heap, hi);  return heap;}voidbow_dv_heap_free (bow_dv_heap *heap){  bow_free (heap);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久免费丝袜| av在线不卡电影| 国产日韩欧美精品在线| 在线观看三级视频欧美| 国产中文字幕精品| 伊人一区二区三区| 2020国产成人综合网| 欧美在线观看一区二区| 国产一区二区调教| 亚洲国产一二三| 国产精品久久久久影院色老大| 欧美人牲a欧美精品| av综合在线播放| 国产一区二区三区久久久| 亚洲福利视频一区二区| 成人av动漫在线| 欧美高清www午色夜在线视频| 激情五月婷婷综合| 亚洲不卡av一区二区三区| 国产精品国模大尺度视频| 欧美成人一区二区三区片免费| 欧美在线制服丝袜| 国产不卡在线视频| 经典一区二区三区| 首页国产欧美日韩丝袜| 亚洲精品伦理在线| 亚洲视频综合在线| 国产精品二区一区二区aⅴ污介绍| 欧美大片免费久久精品三p| 欧美日韩一区成人| 91黄色激情网站| 色又黄又爽网站www久久| 成人av网址在线| 成人一区二区三区在线观看| 激情成人综合网| 精品亚洲国内自在自线福利| 秋霞电影网一区二区| 亚洲国产精品综合小说图片区| 一区在线观看免费| 国产精品麻豆久久久| 99久久精品免费看国产| 国产一区 二区 三区一级| 蜜桃91丨九色丨蝌蚪91桃色| 午夜免费久久看| 婷婷久久综合九色综合绿巨人| 91麻豆精品国产91久久久更新时间| 99re热这里只有精品视频| 国产精品伦理在线| 欧美一区二区观看视频| 国产河南妇女毛片精品久久久 | 欧美一区二区免费| 亚洲精品中文在线影院| 欧美tickling网站挠脚心| 99久久精品免费| 欧美韩国日本一区| 国产日韩欧美高清| 日本一区二区在线不卡| 中文欧美字幕免费| 自拍偷自拍亚洲精品播放| 亚洲男人的天堂av| 亚洲电影一级片| 麻豆传媒一区二区三区| 国模套图日韩精品一区二区| 国产成人精品亚洲午夜麻豆| av在线播放一区二区三区| 欧美在线视频你懂得| 56国语精品自产拍在线观看| 精品久久国产97色综合| 中文字幕国产一区| 亚洲综合色自拍一区| 日韩va亚洲va欧美va久久| 国产一区二区三区久久悠悠色av| 丁香激情综合国产| 在线区一区二视频| 日韩精品综合一本久道在线视频| 国产亚洲综合在线| 一区二区三区免费观看| 蜜臀a∨国产成人精品| 大尺度一区二区| 欧美三级三级三级爽爽爽| 精品久久人人做人人爱| 亚洲欧洲韩国日本视频| 日韩va欧美va亚洲va久久| 国产成人啪免费观看软件| 色丁香久综合在线久综合在线观看| 91精品中文字幕一区二区三区| 亚洲午夜久久久久久久久电影网 | 亚洲精品在线免费播放| 国产精品嫩草99a| 丝袜美腿一区二区三区| 国产69精品久久久久777| 欧美亚洲综合色| 日韩女优电影在线观看| 久久这里只有精品6| 中文字幕在线观看不卡| 丝袜诱惑亚洲看片| 成人白浆超碰人人人人| 欧美一区二区成人| 一区视频在线播放| 精品在线免费观看| 欧美日韩一级二级| 国产欧美一区二区精品性| 亚洲国产一区在线观看| 九一九一国产精品| 在线精品视频一区二区三四| 久久综合av免费| 肉色丝袜一区二区| 色综合一区二区三区| 久久综合五月天婷婷伊人| 亚洲无线码一区二区三区| 成人综合激情网| 日韩三区在线观看| 亚洲尤物视频在线| 不卡的av电影在线观看| 精品国产一二三| 肉肉av福利一精品导航| 日本久久电影网| 欧美激情一区在线| 久久国产剧场电影| 26uuu精品一区二区在线观看| 精品国产1区二区| 日韩电影在线一区| 欧美性色黄大片| 亚洲色图在线视频| 成人一级黄色片| 久久久久久久久久看片| 美女久久久精品| 欧美嫩在线观看| 亚洲成av人**亚洲成av**| 91蜜桃视频在线| 成人免费一区二区三区在线观看| 国产九色精品成人porny| 日韩精品在线看片z| 日韩av不卡在线观看| 欧美高清精品3d| 日韩精品欧美成人高清一区二区| 欧美亚男人的天堂| 一卡二卡三卡日韩欧美| 色一区在线观看| 一区二区三区精品视频在线| 91麻豆免费视频| 樱桃国产成人精品视频| 欧美最新大片在线看| 亚洲成人你懂的| 欧美精品第1页| 麻豆freexxxx性91精品| 日韩视频免费观看高清完整版在线观看 | 欧美极品少妇xxxxⅹ高跟鞋 | 日韩黄色免费电影| 欧美精品自拍偷拍动漫精品| 亚洲高清免费观看高清完整版在线观看| 91免费看`日韩一区二区| 亚洲免费在线视频| 欧美日韩在线播放一区| 亚洲成人高清在线| 欧美一区二区女人| 国模无码大尺度一区二区三区| 国产丝袜美腿一区二区三区| 成人免费黄色大片| 亚洲欧美偷拍卡通变态| 欧美综合在线视频| 日韩av网站在线观看| 精品国产一区二区三区忘忧草 | 国产精品成人一区二区三区夜夜夜| 成人性生交大片免费看中文网站| 中文字幕高清不卡| 日本韩国精品一区二区在线观看| 亚洲国产综合人成综合网站| 亚洲激情图片小说视频| 欧美三区在线观看| 免费成人在线播放| 国产日产精品一区| 色国产综合视频| 久久黄色级2电影| 国产精品卡一卡二| 精品视频1区2区| 欧美性大战久久久| 日产国产高清一区二区三区| 久久久久久久久99精品| 97se亚洲国产综合自在线| 天天色综合成人网| 国产欧美精品一区二区三区四区 | 日本韩国欧美三级| 久久99精品久久久久久久久久久久| 日本一区二区三区久久久久久久久不 | 亚洲综合色区另类av| 日韩一二三四区| gogo大胆日本视频一区| 肉色丝袜一区二区| 国产精品免费免费| 欧美一区二区国产| 一本一道久久a久久精品| 日韩av在线免费观看不卡| 国产精品久久久久久久久免费樱桃| 欧美日韩亚洲国产综合| 国产成人精品免费| 青青草97国产精品免费观看 | 国产盗摄一区二区三区| 亚洲国产精品一区二区www在线| 久久免费视频色|