Java 다차원 데이터에서 고유 ID로 해당 매핑 및 접두사 쿼리
이 기사에서는 다차원 데이터를 고유 ID에 매핑하는 것을 구현하기 위해 Java에서 해시 맵을 설계하는 방법에 대해 설명하고 부분 차원에 기반한 접두사 쿼리를 지원합니다. 예를 들어, 함수 f(a, b, c, ...)
고유 ID를 생성하고 f(a, b) != f(b, a)
해야합니다. 또한 a
로 시작하는 모든 매핑 쿼리와 같은 특정 차원으로 접두사를 접두사로 한 모든 매핑 결과를 쿼리 할 수 있어야합니다.
계획:
단일 해시 맵을 직접 사용하여 접두사 쿼리를 효율적으로 구현하기는 어렵습니다. 보다 효율적인 솔루션은 트리 트리 또는 커스텀 트리 구조와 같은 트리 구조를 사용하여 치수 정보를 키로 키와 고유 한 ID를 값으로 사용하는 것입니다.
구현 단계 :
- 치수 데이터 구조 : 차원 데이터를 나타내는 클래스를 정의합니다.
클래스 치수 { 문자열 A; 문자열 B; 문자열 C; // ... 다른 차원 공개 치수 (문자열 A, 문자열 B, 문자열 C) { this.a = a; this.b = b; this.c = c; } // HASHMAP 비교를위한 equals () 및 hashcode () 메소드 @보수 Public Boolean Equals (Object obj) { if (this == obj)는 true를 반환합니다. if (obj == null || getClass ()! = obj.getClass ()) false를 반환합니다. 차원 = (치수) obj; return object.equals (a, that.a) && objects.equals (b, that.b) && objects.equals (c, that.c); } @보수 public int hashcode () { return objects.hash (a, b, c); } }
- 트리 트리 구조 (예) : 트리 트리를 사용하여 치수 정보 및 ID 매핑을 저장합니다. 각 노드는 치수 값을 나타내고 리프 노드는 고유 한 ID를 저장합니다.
클래스 Trienode { 문자열 값; 지도<string trienode> 어린이들; 문자열 고유 한; // 잎 노드에 고유 ID를 저장합니다 public trienode (문자열 값) { this.value = value; this.children = new Hashmap (); } } 클래스 트리 { Trienode 뿌리; public trie () { root = new trienode ( ""); } public void insert (Dimension Dim, String SightileD) { trienode 노드 = 루트; 노드 = insertrecursive (노드, Dim, 고유 한); } Private Trienode InserTrecursive (Trienode 노드, Dimension Dim, String SightileD) { if (dim == null) { node.uniqueId = 고유 한; 리턴 노드; } if (dim.a! = null) { node.children.computeifabsent (dim.a, k-> new trienode (k)); node = node.children.get (dim.a); if (dim.b! = null) { node.children.computeifabsent (dim.b, k-> new trienode (k)); node = node.children.get (dim.b); if (dim.c! = null) { node.children.computeifabsent (dim.c, k-> new trienode (k)); node = node.children.get (dim.c); } } } node.uniqueId = 고유 한; 리턴 노드; } 공개 목록<string> PrefixSearch (String Prefix) { 목록<string> 결과 = new ArrayList (); trienode 노드 = 루트; for (문자열 부분 : prefix.split ( ",")) { if (! node.children.containskey (part)) { 반환 결과; // 접두사를 찾을 수 없습니다 } node = node.children.get (part); } 수집기 (노드, 결과); 반환 결과; } 개인 void collectids (Trienode 노드, 목록<string> 결과) { if (node.uniqueId! = null) { result.add (node.uniqueId); } for (trienode child : node.children.values ()) { 수집기 (어린이, 결과); } } }</string></string></string></string>
- 사용의 예 :
공개 클래스 메인 { public static void main (String [] args) { trie trie = new trie (); trie.insert (new Dimension ( "a", "b", "c"), "u1"); trie.insert (new Dimension ( "a", "b", "d"), "u2"); trie.insert (new Dimension ( "x", "y", "z"), "v1"); 목록<string> 결과 = trie.prefixSearch ( "a, b"); System.out.println (결과); // 출력 : [u1, u2] 결과 = trie.prefixSearch ( "a"); System.out.println (결과); // 출력 : [u1, u2] 결과 = trie.prefixSearch ( "x"); System.out.println (결과); // 출력 : [v1] } }</string>
이 예제는 트리 트리를 사용하여 다차원 데이터의 매핑 및 접두사 쿼리를 고유 ID에 구현하는 방법을 보여줍니다. 실제 요구에 따라 Trie 트리의 치수 데이터 구조 및 구현 세부 사항을 조정할 수 있습니다. 매우 큰 데이터 세트의 경우보다 고급 데이터 구조 및 알고리즘을 사용하여 성능을 최적화하십시오. 예를 들어, 데이터베이스 인덱스를 사용하여 쿼리 속도를 높이십시오.
위 내용은 다차 차원에서 Java의 고유 한 값으로 해당 매핑 및 접두사 쿼리 기능을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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、点击选择工具,移动矩形即可。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.
