2014-06-11 1 views
0

이 내 코드입니다 : 나는 단어 목록에 대한 입력에서 문자를 확인하고 문자 목록에서 철자 수있는 모든 단어를 넣어 원하는글자 맞추기 워드 생성기 (AS3)

import flash.events.MouseEvent; 

var loadTxt:URLLoader = new URLLoader(); 

loadTxt.addEventListener(Event.COMPLETE, onLoaded); 

function onLoaded(e:Event):void { 
    var wordList:Array = e.target.data.split(/\n/); 
    trace("> " + wordList) 
} 

loadTxt.load(new URLRequest("list.txt")); 

btnSolve.addEventListener(MouseEvent.CLICK, solve) 

function solve(Event:MouseEvent){ 
    var wordString = this.wordTxt.text 
    var wordArray:Array = wordString.split(""); 
    trace("> " + wordArray); 
} 

. 지금은 글자가 단어 목록에 무엇인가 철자가 있는지 확인할 수있는 방법을 알고 싶습니다.

답변

0

John Resig (jQuery와 Khan Academy 명성)에는 이런 종류의 블로그 게시물이 몇 개 있습니다.

그는 Trie data structure의 사용을 조사하여 단어를 효율적으로 나타내고 조회합니다. 코드는 JavaScript로되어 있지만 액션 스크립트로 변환하는 것은 매우 쉽습니다. http://ejohn.org/blog/javascript-trie-performance-analysis/

  • http://ejohn.org/blog/revised-javascript-dictionary-search/
  • 당신이 가장 좋은 방법은 상황에 무엇을 해결해야하므로 문제가 이런 종류의 몇 가지 복잡성은 분명히있다 http://ejohn.org/blog/dictionary-lookups-in-javascript/

    • . 행운을 빕니다!

  • +0

    감사합니다, 나는 이것으로 볼 것이다. – Darakath

    +0

    나는 검사기가 아닌 스크래블 솔버를 만들려고 노력하고있다. 당신이 저에게 준 링크는 목록에있는 단어를 확인하는 것이 었습니다. – Darakath

    +0

    "단어 목록에 대해 입력 된 문자를 확인하고 목록에 철자가 가능한 모든 단어를 입력하고 싶습니다." 그것은 같은 문제 공간입니다. 단어를 잘 나타내어 쉽게 확인할 수있는 방법 (예 : Trie)을 사용하면 모든 문자 조합을 테스트 할 수있는 적절한 알고리즘을 찾을 수 있습니다. 가장 간단한 방법은 7 글자 (약 5040 조합)의 모든 조합을 테스트하는 것입니다.하지만 모든 조합이 유효하지는 않으므로 실제 비교 횟수가 적어집니다. –

    0

    하나의 옵션은 타일 세트의 모든 순열을 효율적으로 저장하고 걷기 위해 GADDAG을 사용하는 것입니다. 나는 AS3에서 하나의 기존 구현 알고 있지만, 여기에 몇 가지 서류입니다하지 않습니다

    Formal Description

    .net implementation

    optimization