


Cartographie de hachage et requête préfixe des données multidimensionnelles Java à une pièce d'identité unique
Cet article examine comment concevoir une carte de hachage en Java pour implémenter la cartographie des données multidimensionnelles à des ID uniques, et prend en charge la requête préfixe basée sur des dimensions partielles. Par exemple, la fonction f(a, b, c, ...)
doit générer un ID unique, et f(a, b) != f(b, a)
. Nous devons également être en mesure de remettre en question tous les résultats de cartographie préfixés avec une dimension spécifique, tels que l'interrogation de tous les mappages commençant par a
.
plan:
Il est difficile d'implémenter efficacement la requête préfixe à l'aide d'un seul hashmap directement. Une solution plus efficace consiste à utiliser une structure d'arbre, comme un arbre de trie ou une structure d'arbre personnalisée, avec des informations de dimension comme des clés et des ID uniques comme valeurs.
Étapes de mise en œuvre:
- Structure des données dimensionnelles: définissez une classe pour représenter les données dimensionnelles, par exemple:
Dimension de classe { String a; String b; Chaîne C; // ... autres dimensions dimension publique (chaîne A, chaîne B, chaîne c) { this.a = a; this.b = b; this.c = c; } // Equals () et HashCode () Méthodes pour la comparaison de hashmap @Outrepasser booléen public est égal (objet obj) { if (this == obj) renvoie true; if (obj == null || getClass ()! = obj.getClass ()) return false; Dimension que = (dimension) obj; return object.equals (a, that.a) && objets.equals (b, that.b) && objets.equals (c, that.c); } @Outrepasser public int hashcode () { return objets.hash (a, b, c); } }
- TRIE TREE STRUCTURE (Exemple): Utilisez Trie Tree pour stocker les informations de dimension et la cartographie d'identification. Chaque nœud représente une valeur de dimension et le nœud feuille stocke un ID unique.
classe Trienode { Valeur de chaîne; Carte<string trienode> enfants; String UNIQUEID; // Stockez une pièce d'identité unique sur les nœuds de feuilles public Trienode (String Value) { this.value = valeur; this.children = new hashmap (); } } classe Trie { Root Trienode; public Trie () { root = new Trienode (""); } insert public vide (dimension dim, string uniqueid) { Trienode node = root; Node = insertrecursive (nœud, dim, uniqueId); } insertretrecursive privé (nœud Trienode, dimension dim, chaîne unique) { if (dim == null) { Node.UniqueID = UNIQUEID; Node de retour; } if (dim.a! = null) { node.children.computeifabsensent (dim.a, k -> new Trienode (k)); node = node.children.get (dim.a); if (dim.b! = null) { node.children.computeifabsensent (dim.b, k -> new Trienode (k)); node = node.children.get (dim.b); if (dim.c! = null) { node.children.computeifabsensent (dim.c, k -> new Trienode (k)); node = node.children.get (dim.c); } } } Node.UniqueID = UNIQUEID; Node de retour; } liste publique<string> prefixSearch (String Prefix) { Liste<string> result = new ArrayList (); Trienode node = root; for (String part: prefix.split (",")) { if (! node.children.containsKey (partie)) { Résultat de retour; // Préfixe introuvable } node = node.children.get (pièce); } CollectIdS (nœud, résultat); Résultat de retour; } Collectes de vide privés (nœud Trienode, liste<string> résultat) { if (node.uniqueid! = null) { résultat.Add (Node.UniqueID); } pour (Trienode Child: node.children.values ()) { Collectrides (enfant, résultat); } } }</string></string></string></string>
- Exemple d'utilisation:
classe publique Main { public static void main (String [] args) { Trie Trie = new Trie (); trie.insert (nouvelle dimension ("a", "b", "c"), "u1"); trie.insert (nouvelle dimension ("a", "b", "d"), "u2"); trie.insert (nouvelle dimension ("x", "y", "z"), "v1"); Liste<string> résultats = trie.prefixSearch ("a, b"); System.out.println (résultats); // Sortie: [U1, U2] résultats = trie.prefixSearch ("a"); System.out.println (résultats); // Sortie: [U1, U2] résultats = trie.prefixSearch ("x"); System.out.println (résultats); // Sortie: [V1] } }</string>
Cet exemple montre comment utiliser une arborescence pour implémenter la mappage et la requête préfixe des données multidimensionnelles à des ID uniques. Vous pouvez ajuster la structure des données dimensionnelles et les détails de mise en œuvre de l'arborescence de triement en fonction des besoins réels. Pour des ensembles de données très importants, envisagez d'utiliser des structures de données et des algorithmes plus avancés pour optimiser les performances. Par exemple, envisagez d'utiliser des index de base de données pour accélérer les requêtes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

ai合并图层的快捷键是“Ctrl+Shift+E”,它的作用是把目前所有处在显示状态的图层合并,在隐藏状态的图层则不作变动。也可以选中要合并的图层,在菜单栏中依次点击“窗口”-“路径查找器”,点击“合并”按钮。

ai橡皮擦擦不掉东西是因为AI是矢量图软件,用橡皮擦不能擦位图的,其解决办法就是用蒙板工具以及钢笔勾好路径再建立蒙板即可实现擦掉东西。

虽然谷歌早在2020年,就在自家的数据中心上部署了当时最强的AI芯片——TPU v4。但直到今年的4月4日,谷歌才首次公布了这台AI超算的技术细节。论文地址:https://arxiv.org/abs/2304.01433相比于TPU v3,TPU v4的性能要高出2.1倍,而在整合4096个芯片之后,超算的性能更是提升了10倍。另外,谷歌还声称,自家芯片要比英伟达A100更快、更节能。与A100对打,速度快1.7倍论文中,谷歌表示,对于规模相当的系统,TPU v4可以提供比英伟达A100强1.

ai可以转成psd格式。转换方法:1、打开Adobe Illustrator软件,依次点击顶部菜单栏的“文件”-“打开”,选择所需的ai文件;2、点击右侧功能面板中的“图层”,点击三杠图标,在弹出的选项中选择“释放到图层(顺序)”;3、依次点击顶部菜单栏的“文件”-“导出”-“导出为”;4、在弹出的“导出”对话框中,将“保存类型”设置为“PSD格式”,点击“导出”即可;

ai顶部属性栏不见了的解决办法:1、开启Ai新建画布,进入绘图页面;2、在Ai顶部菜单栏中点击“窗口”;3、在系统弹出的窗口菜单页面中点击“控制”,然后开启“控制”窗口即可显示出属性栏。

Yann LeCun 这个观点的确有些大胆。 「从现在起 5 年内,没有哪个头脑正常的人会使用自回归模型。」最近,图灵奖得主 Yann LeCun 给一场辩论做了个特别的开场。而他口中的自回归,正是当前爆红的 GPT 家族模型所依赖的学习范式。当然,被 Yann LeCun 指出问题的不只是自回归模型。在他看来,当前整个的机器学习领域都面临巨大挑战。这场辩论的主题为「Do large language models need sensory grounding for meaning and u

引入密集强化学习,用 AI 验证 AI。 自动驾驶汽车 (AV) 技术的快速发展,使得我们正处于交通革命的风口浪尖,其规模是自一个世纪前汽车问世以来从未见过的。自动驾驶技术具有显着提高交通安全性、机动性和可持续性的潜力,因此引起了工业界、政府机构、专业组织和学术机构的共同关注。过去 20 年里,自动驾驶汽车的发展取得了长足的进步,尤其是随着深度学习的出现更是如此。到 2015 年,开始有公司宣布他们将在 2020 之前量产 AV。不过到目前为止,并且没有 level 4 级别的 AV 可以在市场

ai移动不了东西的解决办法:1、打开ai软件,打开空白文档;2、选择矩形工具,在文档中绘制矩形;3、点击选择工具,移动文档中的矩形;4、点击图层按钮,弹出图层面板对话框,解锁图层;5、点击选择工具,移动矩形即可。


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP