【C++】2.7 哈希表及其实现

二次探测:由于直接这么探测,要是数据堆积那么效率较低 因此,可以将+i改成+-i方,让数据更加分散 其它都一样,将hash0 + i改为hash+i*i即可

(2) 双重散列法由于二次探测在冲突时+-的值时一样的,依旧不能解决堆积问题 因此,可以再用一个独立的函数去计算+-的值 要求:函数值<M且与M互质(否则就是在原地几个数中踏步)

4. 扩容

将原来的vector拷贝到新的更大的vector 但是由于size不一样,开放寻址的_tables.size()爷不一样,因此需要重新建立关系 并且,不是满了扩容,而是当负载超过一定数时就扩容

代码语言:javascript

AI代码解释

if (_n * 100 / _tables.size() >= 70) { hash<K, V> newhash; newhash._tables.resize(2 * _tables.size()); for (auto& e : _tables) { if (e._state == EXIST) { newhash.insert(e._kv); } } _tables.swap(newhash._tables); }

可以参考现代写法,建一个新的哈希表类,再复用插入逻辑,再交换两个vector

5. 质数处理

2 * _tables.size()由于新哈希表的大小为两倍以前的,因此一定不是质数 解决方案:弄一个质数数组,达到负载就取新的值

代码语言:javascript

AI代码解释

newhash._tables.resize(prim(_tables.size()+1));

写了个二分查找,找到最小的大于s的数

代码语言:javascript

AI代码解释

inline size_t prim(size_t s) { static const size_t prime_list[] = { 53, 97, 193, 389, 769, 1543, 3079, 6151, 12289, 24593, 49157, 98317, 196613, 393241, 786433, 1572869, 3145739, 6291469, 12582917, 25165843, 50331653, 100663319, 201326611, 402653189, 805306457, 1610612741, 3221225473, 4294967291 }; const size_t n = sizeof(prime_list) / sizeof(prime_list[0]); size_t left = 0, right = n; while (left < right) { size_t mid = left + (right - left) / 2; if (prime_list[mid] < s) left = mid + 1; else right = mid; } if (left < n) return prime_list[left]; return prime_list[n - 1]; }
6. Find

代码语言:javascript

AI代码解释

hashdata<K, V>* Find(const K& key) { size_t hash0 = key % _tables.size(); size_t hashi = hash0; size_t i = 1; while (_tables[hashi]._state != EMPTY) { if (_tables[hashi]._state == EXIST && _tables[hashi]._kv.first == key) { return &_tables[hashi]; } hashi = (hash0 + i) % _tables.size(); ++i; } return nullptr; }
7. 转无符号整型

由于上面写的代码仅仅是针对于无符号整型的 但是其它的可以用仿函数的方式转

代码语言:javascript

AI代码解释

template<class K> struct hashfunc { size_t operator()(const K& key) { return (size_t)key; } }; template<> struct hashfunc<std::string> { size_t operator()(const std::string& str) { size_t hash = 0; for (auto&e:str) { hash += e; hash *= 131; } return hash; } };

在内置类型,如double等可以直接强转 但是,string也可能出现在哈希表中,因此对模板进行特化,优先走特化函数 因此,哈希表要转2次,传值->无符号整型->哈希函数映射哈希值

BKDR哈希String如何转无符号整型 如果将每一位简单相加,那么很容易冲突 因此,可以加一位再乘一个质数(选择131)以减少冲突

8. 自定义类和哈希函数

代码语言:javascript

AI代码解释

struct date { int _year; int _month; int _day; date(int year=1,int month=1,int day=1) :_year(year) ,_month(month) ,_day(day) { } bool operator == (const date & d) { return _year == d._year && _month == d._month && _day == d._day; } }; struct cmp { size_t operator()(const date& d) const { size_t has = 0; has += d._year; has *= 10000; has += d._month; has *= 100; has += d._day; return has; } };

因此,哈希表做key的要求:能转为整型,可以有不等于的比较


五、链地址法实现

由于开放寻址法无论怎么探测都无法解决过多数据堆积问题

因此,将哈希表数组中存放链表将冲突的值挂下来 这个放地址的东西就叫桶

1. 节点定义

代码语言:javascript

AI代码解释

struct hashnode { std::pair<K, V> _kv; hashnode* _next; hashnode(const std::pair<K,V>&kv) :_kv(kv) ,_next(nullptr) { } };
  1. 为什么单链表:单链表对于哈希表已经足够了,还可节省空间
  2. 为什么不用list或forward_list 因为在扩容时,用std的list会自动析构,但是我们其实可以回收利用原先的节点,节省开销

book.fzvhl.asia/Blog/686682.shtml
book.fzvhl.asia/Blog/802864.shtml
book.fzvhl.asia/Blog/240882.shtml
book.fzvhl.asia/Blog/008628.shtml
book.fzvhl.asia/Blog/626244.shtml
book.fzvhl.asia/Blog/084040.shtml
book.fzvhl.asia/Blog/246462.shtml
book.fzvhl.asia/Blog/204606.shtml
book.fzvhl.asia/Blog/228448.shtml
book.fzvhl.asia/Blog/404480.shtml
book.fzvhl.asia/Blog/468882.shtml
book.fzvhl.asia/Blog/604040.shtml
book.fzvhl.asia/Blog/026666.shtml
book.fzvhl.asia/Blog/206420.shtml
book.fzvhl.asia/Blog/686200.shtml
book.fzvhl.asia/Blog/646020.shtml
book.fzvhl.asia/Blog/880802.shtml
book.fzvhl.asia/Blog/466646.shtml
book.fzvhl.asia/Blog/282866.shtml
book.fzvhl.asia/Blog/370528.shtml
book.fzvhl.asia/Blog/402262.shtml
book.fzvhl.asia/Blog/804608.shtml
book.fzvhl.asia/Blog/488882.shtml
book.fzvhl.asia/Blog/004020.shtml
book.fzvhl.asia/Blog/864828.shtml
book.fzvhl.asia/Blog/820680.shtml
book.fzvhl.asia/Blog/826620.shtml
book.fzvhl.asia/Blog/426268.shtml
book.fzvhl.asia/Blog/404806.shtml
book.fzvhl.asia/Blog/868084.shtml
book.fzvhl.asia/Blog/428062.shtml
book.fzvhl.asia/Blog/062808.shtml
book.fzvhl.asia/Blog/228444.shtml
book.fzvhl.asia/Blog/842206.shtml
book.fzvhl.asia/Blog/804808.shtml
book.fzvhl.asia/Blog/800480.shtml
book.fzvhl.asia/Blog/066622.shtml
book.fzvhl.asia/Blog/088000.shtml
book.fzvhl.asia/Blog/648802.shtml
book.fzvhl.asia/Blog/846688.shtml
book.rhdzj.asia/Blog/064266.shtml
book.rhdzj.asia/Blog/600808.shtml
book.rhdzj.asia/Blog/262282.shtml
book.rhdzj.asia/Blog/220042.shtml
book.rhdzj.asia/Blog/028464.shtml
book.rhdzj.asia/Blog/668402.shtml
book.rhdzj.asia/Blog/404668.shtml
book.rhdzj.asia/Blog/660864.shtml
book.rhdzj.asia/Blog/844060.shtml
book.rhdzj.asia/Blog/442248.shtml
book.rhdzj.asia/Blog/244402.shtml
book.rhdzj.asia/Blog/466600.shtml
book.rhdzj.asia/Blog/620008.shtml
book.rhdzj.asia/Blog/288046.shtml
book.rhdzj.asia/Blog/048864.shtml
book.rhdzj.asia/Blog/666488.shtml
book.rhdzj.asia/Blog/088686.shtml
book.rhdzj.asia/Blog/408202.shtml
book.rhdzj.asia/Blog/660080.shtml
book.rhdzj.asia/Blog/062824.shtml
book.rhdzj.asia/Blog/686248.shtml
book.rhdzj.asia/Blog/000608.shtml
book.rhdzj.asia/Blog/022464.shtml
book.rhdzj.asia/Blog/044464.shtml
book.rhdzj.asia/Blog/860646.shtml
book.rhdzj.asia/Blog/068622.shtml
book.rhdzj.asia/Blog/624846.shtml
book.rhdzj.asia/Blog/246866.shtml
book.rhdzj.asia/Blog/648480.shtml
book.rhdzj.asia/Blog/448862.shtml
book.rhdzj.asia/Blog/066840.shtml
book.rhdzj.asia/Blog/466620.shtml
book.rhdzj.asia/Blog/460682.shtml
book.rhdzj.asia/Blog/082886.shtml
book.rhdzj.asia/Blog/406646.shtml
book.rhdzj.asia/Blog/808206.shtml
book.rhdzj.asia/Blog/066226.shtml
book.rhdzj.asia/Blog/802082.shtml
book.rhdzj.asia/Blog/248082.shtml
book.rhdzj.asia/Blog/602808.shtml
book.dptfh.asia/Blog/008608.shtml
book.dptfh.asia/Blog/024064.shtml
book.dptfh.asia/Blog/226608.shtml
book.dptfh.asia/Blog/406442.shtml
book.dptfh.asia/Blog/686668.shtml
book.dptfh.asia/Blog/664280.shtml
book.dptfh.asia/Blog/044024.shtml
book.dptfh.asia/Blog/686084.shtml
book.dptfh.asia/Blog/000248.shtml
book.dptfh.asia/Blog/486866.shtml
book.dptfh.asia/Blog/884622.shtml
book.dptfh.asia/Blog/000224.shtml
book.dptfh.asia/Blog/602802.shtml
book.dptfh.asia/Blog/402668.shtml
book.dptfh.asia/Blog/848624.shtml
book.dptfh.asia/Blog/666204.shtml
book.dptfh.asia/Blog/086826.shtml
book.dptfh.asia/Blog/226464.shtml
book.dptfh.asia/Blog/826044.shtml
book.dptfh.asia/Blog/040826.shtml
book.dptfh.asia/Blog/466024.shtml
book.dptfh.asia/Blog/482602.shtml
book.dptfh.asia/Blog/428842.shtml
book.dptfh.asia/Blog/024042.shtml
book.dptfh.asia/Blog/222486.shtml
book.dptfh.asia/Blog/284844.shtml
book.dptfh.asia/Blog/862468.shtml
book.dptfh.asia/Blog/462600.shtml
book.dptfh.asia/Blog/464284.shtml
book.dptfh.asia/Blog/006622.shtml
book.dptfh.asia/Blog/086006.shtml
book.dptfh.asia/Blog/200002.shtml
book.dptfh.asia/Blog/006408.shtml
book.dptfh.asia/Blog/608044.shtml
book.dptfh.asia/Blog/622286.shtml
book.dptfh.asia/Blog/846244.shtml
book.dptfh.asia/Blog/846240.shtml
book.dptfh.asia/Blog/028620.shtml
book.dptfh.asia/Blog/044028.shtml
book.dptfh.asia/Blog/200406.shtml
book.vndfd.asia/Blog/224888.shtml
book.vndfd.asia/Blog/822486.shtml
book.vndfd.asia/Blog/288426.shtml
book.vndfd.asia/Blog/642622.shtml
book.vndfd.asia/Blog/802246.shtml
book.vndfd.asia/Blog/268886.shtml
book.vndfd.asia/Blog/868004.shtml
book.vndfd.asia/Blog/066640.shtml
book.vndfd.asia/Blog/684048.shtml
book.vndfd.asia/Blog/608804.shtml
book.vndfd.asia/Blog/628866.shtml
book.vndfd.asia/Blog/626268.shtml
book.vndfd.asia/Blog/604624.shtml
book.vndfd.asia/Blog/662486.shtml
book.vndfd.asia/Blog/884800.shtml
book.vndfd.asia/Blog/202842.shtml
book.vndfd.asia/Blog/828882.shtml
book.vndfd.asia/Blog/402448.shtml
book.vndfd.asia/Blog/844844.shtml
book.vndfd.asia/Blog/802688.shtml
book.vndfd.asia/Blog/024488.shtml
book.vndfd.asia/Blog/622466.shtml
book.vndfd.asia/Blog/062404.shtml
book.vndfd.asia/Blog/400282.shtml
book.vndfd.asia/Blog/200600.shtml
book.vndfd.asia/Blog/402066.shtml
book.vndfd.asia/Blog/866622.shtml
book.vndfd.asia/Blog/622488.shtml
book.vndfd.asia/Blog/002664.shtml
book.vndfd.asia/Blog/208260.shtml
book.vndfd.asia/Blog/888620.shtml
book.vndfd.asia/Blog/680424.shtml
book.vndfd.asia/Blog/208806.shtml
book.vndfd.asia/Blog/446448.shtml
book.vndfd.asia/Blog/226608.shtml
book.vndfd.asia/Blog/026606.shtml
book.vndfd.asia/Blog/404002.shtml
book.vndfd.asia/Blog/666844.shtml
book.vndfd.asia/Blog/442248.shtml
book.vndfd.asia/Blog/868446.shtml
book.hxzfn.asia/Blog/208648.shtml
book.hxzfn.asia/Blog/882000.shtml
book.hxzfn.asia/Blog/448606.shtml
book.hxzfn.asia/Blog/860482.shtml
book.hxzfn.asia/Blog/628046.shtml
book.hxzfn.asia/Blog/242208.shtml
book.hxzfn.asia/Blog/880204.shtml
book.hxzfn.asia/Blog/866606.shtml
book.hxzfn.asia/Blog/664264.shtml
book.hxzfn.asia/Blog/824220.shtml
book.hxzfn.asia/Blog/426066.shtml
book.hxzfn.asia/Blog/480606.shtml
book.hxzfn.asia/Blog/668260.shtml
book.hxzfn.asia/Blog/400646.shtml
book.hxzfn.asia/Blog/486022.shtml
book.hxzfn.asia/Blog/840886.shtml
book.hxzfn.asia/Blog/442420.shtml
book.hxzfn.asia/Blog/644468.shtml
book.hxzfn.asia/Blog/226000.shtml
book.hxzfn.asia/Blog/406442.shtml
book.hxzfn.asia/Blog/608220.shtml
book.hxzfn.asia/Blog/086260.shtml
book.hxzfn.asia/Blog/266000.shtml
book.hxzfn.asia/Blog/848208.shtml
book.hxzfn.asia/Blog/860248.shtml
book.hxzfn.asia/Blog/846088.shtml
book.hxzfn.asia/Blog/408080.shtml
book.hxzfn.asia/Blog/442802.shtml
book.hxzfn.asia/Blog/020064.shtml
book.hxzfn.asia/Blog/082082.shtml
book.hxzfn.asia/Blog/408686.shtml
book.hxzfn.asia/Blog/608024.shtml
book.hxzfn.asia/Blog/666808.shtml
book.hxzfn.asia/Blog/486008.shtml
book.hxzfn.asia/Blog/484262.shtml
book.hxzfn.asia/Blog/668428.shtml
book.hxzfn.asia/Blog/004204.shtml
book.hxzfn.asia/Blog/264228.shtml
book.hxzfn.asia/Blog/246624.shtml
book.hxzfn.asia/Blog/868286.shtml
book.fjzjn.asia/Blog/468604.shtml
book.fjzjn.asia/Blog/020244.shtml
book.fjzjn.asia/Blog/048024.shtml
book.fjzjn.asia/Blog/868408.shtml
book.fjzjn.asia/Blog/466482.shtml
book.fjzjn.asia/Blog/046468.shtml
book.fjzjn.asia/Blog/246448.shtml
book.fjzjn.asia/Blog/806848.shtml
book.fjzjn.asia/Blog/042000.shtml
book.fjzjn.asia/Blog/842868.shtml
book.fjzjn.asia/Blog/464442.shtml
book.fjzjn.asia/Blog/840842.shtml
book.fjzjn.asia/Blog/402862.shtml
book.fjzjn.asia/Blog/882484.shtml
book.fjzjn.asia/Blog/600288.shtml
book.fjzjn.asia/Blog/424408.shtml
book.fjzjn.asia/Blog/842602.shtml
book.fjzjn.asia/Blog/428208.shtml
book.fjzjn.asia/Blog/248204.shtml
book.fjzjn.asia/Blog/862468.shtml
book.fjzjn.asia/Blog/882662.shtml
book.fjzjn.asia/Blog/468020.shtml
book.fjzjn.asia/Blog/624448.shtml
book.fjzjn.asia/Blog/224808.shtml
book.fjzjn.asia/Blog/262624.shtml
book.fjzjn.asia/Blog/808602.shtml
book.fjzjn.asia/Blog/288022.shtml
book.fjzjn.asia/Blog/220824.shtml
book.fjzjn.asia/Blog/260660.shtml
book.fjzjn.asia/Blog/486440.shtml
book.fjzjn.asia/Blog/422082.shtml
book.fjzjn.asia/Blog/460204.shtml
book.fjzjn.asia/Blog/280242.shtml
book.fjzjn.asia/Blog/088488.shtml
book.fjzjn.asia/Blog/626066.shtml
book.fjzjn.asia/Blog/886804.shtml
book.fjzjn.asia/Blog/400808.shtml
book.fjzjn.asia/Blog/226068.shtml
book.fjzjn.asia/Blog/260668.shtml
book.fjzjn.asia/Blog/220024.shtml
book.rlztv.asia/Blog/442822.shtml
book.rlztv.asia/Blog/220008.shtml
book.rlztv.asia/Blog/606244.shtml
book.rlztv.asia/Blog/444446.shtml
book.rlztv.asia/Blog/680668.shtml
book.rlztv.asia/Blog/280022.shtml
book.rlztv.asia/Blog/402020.shtml
book.rlztv.asia/Blog/888244.shtml
book.rlztv.asia/Blog/000268.shtml
book.rlztv.asia/Blog/848006.shtml
book.rlztv.asia/Blog/260602.shtml
book.rlztv.asia/Blog/226040.shtml
book.rlztv.asia/Blog/848424.shtml
book.rlztv.asia/Blog/424866.shtml
book.rlztv.asia/Blog/280022.shtml
book.rlztv.asia/Blog/486242.shtml
book.rlztv.asia/Blog/626686.shtml
book.rlztv.asia/Blog/240060.shtml
book.rlztv.asia/Blog/426282.shtml
book.rlztv.asia/Blog/486200.shtml
book.rlztv.asia/Blog/008826.shtml
book.rlztv.asia/Blog/444464.shtml
book.rlztv.asia/Blog/644200.shtml
book.rlztv.asia/Blog/088442.shtml
book.rlztv.asia/Blog/680842.shtml
book.rlztv.asia/Blog/802068.shtml
book.rlztv.asia/Blog/262640.shtml
book.rlztv.asia/Blog/046280.shtml
book.rlztv.asia/Blog/842206.shtml
book.rlztv.asia/Blog/008862.shtml
book.rlztv.asia/Blog/480620.shtml
book.rlztv.asia/Blog/620824.shtml
book.rlztv.asia/Blog/840268.shtml
book.rlztv.asia/Blog/686402.shtml
book.rlztv.asia/Blog/408288.shtml
book.rlztv.asia/Blog/484826.shtml
book.rlztv.asia/Blog/086428.shtml
book.rlztv.asia/Blog/606864.shtml
book.rlztv.asia/Blog/006620.shtml
book.rlztv.asia/Blog/644840.shtml
book.bbdvh.asia/Blog/620888.shtml
book.bbdvh.asia/Blog/006280.shtml
book.bbdvh.asia/Blog/664648.shtml
book.bbdvh.asia/Blog/668408.shtml
book.bbdvh.asia/Blog/400468.shtml
book.bbdvh.asia/Blog/600420.shtml
book.bbdvh.asia/Blog/222882.shtml
book.bbdvh.asia/Blog/026822.shtml
book.bbdvh.asia/Blog/668442.shtml
book.bbdvh.asia/Blog/462844.shtml
book.bbdvh.asia/Blog/266082.shtml
book.bbdvh.asia/Blog/444008.shtml
book.bbdvh.asia/Blog/660026.shtml
book.bbdvh.asia/Blog/408826.shtml
book.bbdvh.asia/Blog/688688.shtml
book.bbdvh.asia/Blog/084666.shtml
book.bbdvh.asia/Blog/000002.shtml
book.bbdvh.asia/Blog/886868.shtml
book.bbdvh.asia/Blog/866628.shtml
book.bbdvh.asia/Blog/422020.shtml
book.bbdvh.asia/Blog/260802.shtml
book.bbdvh.asia/Blog/282008.shtml
book.bbdvh.asia/Blog/406688.shtml
book.bbdvh.asia/Blog/824644.shtml
book.bbdvh.asia/Blog/020466.shtml
book.bbdvh.asia/Blog/244268.shtml
book.bbdvh.asia/Blog/248464.shtml
book.bbdvh.asia/Blog/220084.shtml
book.bbdvh.asia/Blog/468642.shtml
book.bbdvh.asia/Blog/044020.shtml
book.bbdvh.asia/Blog/488042.shtml
book.bbdvh.asia/Blog/600622.shtml
book.bbdvh.asia/Blog/648640.shtml
book.bbdvh.asia/Blog/084024.shtml
book.bbdvh.asia/Blog/288240.shtml
book.bbdvh.asia/Blog/420648.shtml
book.bbdvh.asia/Blog/480800.shtml
book.bbdvh.asia/Blog/004086.shtml
book.bbdvh.asia/Blog/866624.shtml
book.bbdvh.asia/Blog/206886.shtml
book.isgya.asia/Blog/062442.shtml
book.isgya.asia/Blog/466086.shtml
book.isgya.asia/Blog/846288.shtml
book.isgya.asia/Blog/288606.shtml
book.isgya.asia/Blog/246222.shtml
book.isgya.asia/Blog/020622.shtml
book.isgya.asia/Blog/402286.shtml
book.isgya.asia/Blog/206464.shtml
book.isgya.asia/Blog/424228.shtml
book.isgya.asia/Blog/084802.shtml
book.isgya.asia/Blog/842242.shtml
book.isgya.asia/Blog/462886.shtml
book.isgya.asia/Blog/626442.shtml
book.isgya.asia/Blog/466622.shtml
book.isgya.asia/Blog/868268.shtml
book.isgya.asia/Blog/628686.shtml
book.isgya.asia/Blog/642846.shtml
book.isgya.asia/Blog/248862.shtml
book.isgya.asia/Blog/060468.shtml
book.isgya.asia/Blog/888880.shtml
book.isgya.asia/Blog/006444.shtml
book.isgya.asia/Blog/044206.shtml
book.isgya.asia/Blog/602844.shtml
book.isgya.asia/Blog/204842.shtml
book.isgya.asia/Blog/466806.shtml
book.isgya.asia/Blog/240086.shtml
book.isgya.asia/Blog/442822.shtml
book.isgya.asia/Blog/260220.shtml
book.isgya.asia/Blog/608880.shtml
book.isgya.asia/Blog/266806.shtml
book.isgya.asia/Blog/260002.shtml
book.isgya.asia/Blog/862008.shtml
book.isgya.asia/Blog/440248.shtml
book.isgya.asia/Blog/204680.shtml
book.isgya.asia/Blog/248620.shtml
book.isgya.asia/Blog/228400.shtml
book.isgya.asia/Blog/820804.shtml
book.isgya.asia/Blog/028268.shtml
book.isgya.asia/Blog/482228.shtml
book.isgya.asia/Blog/268206.shtml
book.sgaic.asia/Blog/242642.shtml
book.sgaic.asia/Blog/804624.shtml
book.sgaic.asia/Blog/042046.shtml
book.sgaic.asia/Blog/646208.shtml
book.sgaic.asia/Blog/268464.shtml
book.sgaic.asia/Blog/886440.shtml
book.sgaic.asia/Blog/468444.shtml
book.sgaic.asia/Blog/248000.shtml
book.sgaic.asia/Blog/866422.shtml
book.sgaic.asia/Blog/806646.shtml
book.sgaic.asia/Blog/442860.shtml
book.sgaic.asia/Blog/008204.shtml
book.sgaic.asia/Blog/224040.shtml
book.sgaic.asia/Blog/626228.shtml
book.sgaic.asia/Blog/802062.shtml
book.sgaic.asia/Blog/084042.shtml
book.sgaic.asia/Blog/226066.shtml
book.sgaic.asia/Blog/602488.shtml
book.sgaic.asia/Blog/006062.shtml
book.sgaic.asia/Blog/600200.shtml
book.sgaic.asia/Blog/846866.shtml
book.sgaic.asia/Blog/804444.shtml
book.sgaic.asia/Blog/044040.shtml
book.sgaic.asia/Blog/862444.shtml
book.sgaic.asia/Blog/626044.shtml
book.sgaic.asia/Blog/440868.shtml
book.sgaic.asia/Blog/080048.shtml
book.sgaic.asia/Blog/206828.shtml
book.sgaic.asia/Blog/646040.shtml
book.sgaic.asia/Blog/400400.shtml
book.sgaic.asia/Blog/442202.shtml
book.sgaic.asia/Blog/442442.shtml
book.sgaic.asia/Blog/046868.shtml
book.sgaic.asia/Blog/888644.shtml
book.sgaic.asia/Blog/048244.shtml
book.sgaic.asia/Blog/624260.shtml
book.sgaic.asia/Blog/680664.shtml
book.sgaic.asia/Blog/204026.shtml
book.sgaic.asia/Blog/642620.shtml
book.sgaic.asia/Blog/640282.shtml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1142287.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PDF-Extract-Kit错误排查:解决‘上传文件无反应‘问题

PDF-Extract-Kit错误排查&#xff1a;解决上传文件无反应问题 1. 引言 在使用PDF-Extract-Kit这一由科哥二次开发构建的PDF智能提取工具箱时&#xff0c;用户可能会遇到“上传文件后无反应”的典型问题。该问题表现为&#xff1a;用户成功启动WebUI服务并访问页面后&#xff…

HY-MT1.5部署实战:5分钟搭建企业级翻译系统

HY-MT1.5部署实战&#xff1a;5分钟搭建企业级翻译系统 在AI驱动的全球化浪潮中&#xff0c;高质量、低延迟的机器翻译能力已成为企业出海、跨语言协作的核心基础设施。腾讯近期开源的混元翻译大模型HY-MT1.5系列&#xff0c;凭借其卓越的翻译质量与灵活的部署能力&#xff0c…

操作指南:Proteus8.16下载安装教程配合Keil联合仿真

手把手搭建嵌入式虚拟实验室&#xff1a;Proteus 8.16 Keil 联合仿真实战指南 你有没有过这样的经历&#xff1f; 写好一段51单片机代码&#xff0c;烧进芯片却发现LED不闪&#xff1b;反复检查电路&#xff0c;换了几块板子才意识到是定时器配置错了。等改完再烧录&#xf…

Spring+Quartz实现定时任务的配置方法

<?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns:context"http://www.springframework.org/schema/c…

腾讯HY-MT1.5-1.8B性能测试:小模型大作为实战分析

腾讯HY-MT1.5-1.8B性能测试&#xff1a;小模型大作为实战分析 1. 引言&#xff1a;小参数&#xff0c;大能力——腾讯混元翻译模型的轻量化突破 随着多语言交流需求的爆发式增长&#xff0c;高质量、低延迟的机器翻译系统成为智能应用的核心组件。然而&#xff0c;传统大模型虽…

Spring 过滤器:OncePerRequestFilter 应用详解

在Web应用中&#xff0c;过滤器&#xff08;Filter&#xff09;是一个强大的工具&#xff0c;它可以在请求到达目标资源之前或响应返回客户端之前对请求或响应进行拦截和处理。然而&#xff0c;在某些情况下&#xff0c;我们可能希望确保过滤器逻辑在一次完整的HTTP请求中仅执行…

PDF-Extract-Kit部署教程:跨平台部署解决方案

PDF-Extract-Kit部署教程&#xff1a;跨平台部署解决方案 1. 引言 1.1 技术背景与学习目标 PDF-Extract-Kit 是一款由开发者“科哥”二次开发构建的PDF智能提取工具箱&#xff0c;集成了布局检测、公式识别、OCR文字提取、表格解析等核心功能&#xff0c;广泛适用于学术论文…

HY-MT1.5术语干预SDK开发:自定义术语库集成

HY-MT1.5术语干预SDK开发&#xff1a;自定义术语库集成 1. 引言 随着全球化进程的加速&#xff0c;高质量、可定制化的机器翻译需求日益增长。尤其是在专业领域&#xff08;如法律、医疗、金融&#xff09;和多语言混合场景中&#xff0c;通用翻译模型往往难以满足对术语一致…

Spring 的三种注入方式?

1. 实例的注入方式 首先来看看 Spring 中的实例该如何注入&#xff0c;总结起来&#xff0c;无非三种&#xff1a;属性注入set 方法注入构造方法注入我们分别来看下。 1.1 属性注入 属性注入是大家最为常见也是使用最多的一种注入方式了&#xff0c;代码如下&#xff1a; Servi…

深度剖析ST7789初始化序列:适合初学的理解方式

点亮第一帧&#xff1a;拆解ST7789初始化背后的工程逻辑你有没有遇到过这样的场景&#xff1f;硬件接好了&#xff0c;代码烧进去了&#xff0c;LVGL界面也写得漂漂亮亮——结果屏幕一动不动&#xff0c;黑屏、白屏、花屏轮番上演。反复检查接线无误&#xff0c;SPI通信也有波形…

PDF-Extract-Kit实战案例:智能文档检索系统

PDF-Extract-Kit实战案例&#xff1a;智能文档检索系统 1. 引言 在科研、教育和企业办公场景中&#xff0c;PDF 文档作为知识传递的核心载体&#xff0c;往往包含大量结构化信息——如文字、表格、数学公式和图像。然而&#xff0c;传统方式难以高效提取这些内容并进行二次利…

BRAM在图像处理缓存中的实现:完整示例解析

BRAM在图像处理缓存中的实战设计&#xff1a;从原理到可综合代码你有没有遇到过这样的问题——明明FPGA的逻辑资源还很充裕&#xff0c;但图像处理流水线却频频卡顿&#xff1f;像素流断了、卷积核等数据、边缘检测结果延迟飙升……最终发现&#xff0c;瓶颈不在算法&#xff0…

HY-MT1.5性能对比:与Google翻译API实测数据

HY-MT1.5性能对比&#xff1a;与Google翻译API实测数据 在多语言交流日益频繁的今天&#xff0c;高质量、低延迟的机器翻译模型成为跨语言沟通的核心基础设施。近年来&#xff0c;随着大模型技术的快速发展&#xff0c;开源翻译模型逐渐具备了与商业API相媲美的能力。腾讯近期…

PDF智能提取工具箱实战:手写公式转LaTeX完整步骤

PDF智能提取工具箱实战&#xff1a;手写公式转LaTeX完整步骤 1. 引言&#xff1a;从扫描文档到结构化数据的智能化跃迁 在科研、教学和工程实践中&#xff0c;PDF文档中常包含大量手写或印刷体数学公式、表格和文本内容。传统方式下&#xff0c;将这些非结构化信息转化为可编…

基于深度学习 YOLOv8➕pyqt5的西红柿成熟度检测系统

基于深度学习 YOLOv8➕pyqt5的西红柿成熟度检测系统&#xff0c; 完整源码源文件已标注的数据集训练好的模型环境配置教程程序运行说明文档 可以替换自己训练的模型&#xff0c;实现检测目标自定义 blog.csdnimg.cn/direct/31c61653310648458126c961a01fd682.png) 以下文章及示…

PDF-Extract-Kit快速上手:10分钟完成第一个PDF解析项目

PDF-Extract-Kit快速上手&#xff1a;10分钟完成第一个PDF解析项目 1. 引言 在科研、教育和办公场景中&#xff0c;PDF文档常包含大量结构化信息——如公式、表格、图文混排内容。然而&#xff0c;传统方式难以高效提取这些元素&#xff0c;尤其是数学公式和复杂表格的数字化…

STM32CubeMX工业电机控制配置:完整指南

用STM32CubeMX打造工业级电机控制系统&#xff1a;从配置到实战的深度实践你有没有遇到过这样的场景&#xff1f;刚接手一个三相PMSM电机控制项目&#xff0c;硬件板子已经打好了&#xff0c;但PWM波形不对、电流采样总在噪声区、编码器读数跳变……调试几天都没找出问题。最后…

无人机培训PPT课件 多旋翼无人飞行培训无人机精灵培训PPT

无人机培训PPT课件 多旋翼无人飞行培训无人机精灵培训PPT 素材 一、课程内容概述 基础理论&#xff1a; 详细讲解无人机的定义、分类以及多旋翼无人机在整个无人机体系中的独特地位和特点。 让学员清晰了解无人机的基本概念&#xff0c;包括按照用途&#xff08;如航拍、物流、…

HY-MT1.5边缘计算方案:离线环境翻译应用部署

HY-MT1.5边缘计算方案&#xff1a;离线环境翻译应用部署 在多语言交流日益频繁的今天&#xff0c;高质量、低延迟的翻译服务成为智能设备、跨境沟通和本地化应用的核心需求。然而&#xff0c;依赖云端API的传统翻译方案面临网络延迟、数据隐私和离线不可用等挑战。为此&#x…

基于STM32的rs485modbus协议源代码实现完整示例

基于STM32的RS485 Modbus通信实战&#xff1a;从硬件连接到代码落地在工业现场&#xff0c;你是否曾为多个传感器与控制器之间的布线复杂、通信不稳定而头疼&#xff1f;是否遇到过不同厂家设备因协议不兼容&#xff0c;导致系统集成困难&#xff1f;今天&#xff0c;我们来解决…