3、算法复杂度与代码性能优化

算法复杂度与代码性能优化

实践中的数据结构

这里有一个简单的演示项目 RandomWordSearch ,它是一个复杂的随机单词生成器。程序启动时,会从文件中加载 370,101 个英语单词列表,并准备三个预加载这些单词的内部数据结构。

程序向用户展示三个按钮,三个按钮运行的基本是相同的代码,唯一的区别是传递给集中式单词生成器的测试函数不同。

以下是 FindGoodWord 方法的核心代码:

procedure TfrmRandomWordSearch.FindGoodWord(
  const wordTest: TWordCheckDelegate);
var
  word: string;
  isWordOK: boolean;
  time: TStopwatch;
begin
  time := TStopwatch.StartNew;
  repeat
    word := GenerateWord;
    isWordOK := wordTest(word);
  until isWordOK or (time.ElapsedMilliseconds > 10000);
  if isWordOK then
    lbWords.ItemIndex := lbWords.Items.Add(Format('%s (%d ms)', 
      [word, time.ElapsedMilliseconds]))
  else
    lbWords.ItemIndex := lbWords.Items.Add
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值